@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600&display=swap');
:root{--ink:#30322f;--muted:#777a74;--beige:#eeebe5;--paper:#eae7e0;--surface:#f2efe8;--field:#f7f4ee;--line:#d5d1c8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--surface);font-family:'Noto Sans KR',sans-serif;font-size:14px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #967b53;outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:'Noto Serif KR',serif;font-weight:500;letter-spacing:-.045em}h2{font-size:36px;line-height:1.55}h3{font-size:17px;font-weight:500}.wrap{max-width:1200px;margin:auto;padding-left:48px;padding-right:48px}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:600;margin-bottom:17px}.header{height:94px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);position:sticky;top:0;z-index:20;border-bottom:1px solid #eeeeea}.brand{font-family:'Noto Serif KR',serif;font-size:28px;letter-spacing:.12em;line-height:1.35}.brand span{display:block;font-family:'Noto Sans KR',sans-serif;font-size:8px;letter-spacing:.2em;margin-top:5px}.header nav{display:flex;align-items:center;gap:30px;font-size:10px;letter-spacing:.1em}.header nav>a:hover{color:#967b53}.nav-book{padding:12px 23px;background:var(--ink);color:white!important;font-size:12px;letter-spacing:0}.nav-book span{margin-left:20px}.menu-toggle{display:none}.hero{height:min(760px,calc(100svh - 94px));min-height:530px;position:relative;background:#a49b8d;color:white}.hero-image,.hero-shade{position:absolute;inset:0;height:100%}.hero-image{object-position:center 58%}.hero-shade{background:linear-gradient(90deg,rgba(24,24,20,.55),rgba(24,24,20,.06)),linear-gradient(0deg,rgba(24,24,20,.35),transparent 40%)}.hero-content{position:absolute;top:23%;left:max(8%,calc((100% - 1104px)/2));}.hero-name{font-size:16px;margin:0 0 13px}.hero h1{font-size:clamp(34px,3.4vw,54px);line-height:1.5}.hero-detail{margin-top:22px;font-size:13px;font-weight:400;color:#f3f1e9}.hero-detail span{margin:0 12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:50px;padding:13px 25px;border:0;cursor:pointer;font-size:12px}.button.light{background:var(--surface);color:var(--ink);margin-top:34px}.button.dark{background:var(--ink);color:white}.button:hover{background:#b5a58d;color:white}.hero-bottom{position:absolute;bottom:40px;left:8%;right:8%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em}.hero-bottom span:nth-child(2){letter-spacing:.05em;color:#eee}.photo-label{position:absolute;right:15px;bottom:10px;color:white;background:#0005;padding:2px 8px;font-size:9px}.intro{text-align:center;padding-top:95px;padding-bottom:80px}.intro h2{font-size:34px}.intro>p:not(.eyebrow){margin-top:23px;color:var(--muted)}.intro-facts{display:flex;justify-content:center;gap:0;margin-top:52px}.intro-facts>span{width:230px;font-size:11px;letter-spacing:.13em;border-right:1px solid var(--line)}.intro-facts>span:last-child{border:0}.intro-facts small{display:block;letter-spacing:0;color:var(--muted);margin-top:6px;font-size:11px}.rooms-section{background:var(--paper);padding:80px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading>p{color:var(--muted);font-size:12px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.room-card img{height:235px;transition:transform .4s}.room-photo{overflow:hidden;position:relative;background:var(--beige)}.room-card:hover img{transform:scale(1.025)}.room-number{position:absolute;left:15px;top:12px;color:white;font-family:serif;font-size:23px}.room-card .eyebrow{font-size:9px;margin:23px 0 6px;color:var(--muted)}.room-card h3{font-family:'Noto Serif KR',serif;font-size:24px}.room-desc{font-size:12px;margin-top:9px;color:var(--muted)}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.tags span,.text-tag{font-size:10px;padding:4px 9px;border:1px solid var(--line);color:#64675f}.room-price{border-top:1px solid var(--line);margin-top:22px;padding-top:15px;display:flex;justify-content:space-between;align-items:center}.room-price small{font-size:10px;color:var(--muted)}.room-price strong{font-weight:500;font-size:16px}.room-price a{font-size:12px}.photo-note{margin-top:24px}.muted{font-size:11px;color:var(--muted);line-height:1.9}.bedding{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;padding-top:100px;padding-bottom:100px;align-items:center}.bedding-photo{position:relative}.bedding-photo img{height:510px}.bedding-copy .eyebrow{color:#9a8c76}.bedding-copy p:not(.eyebrow){color:var(--muted);font-size:13px;margin-bottom:20px}.short-line{width:35px;height:1px;background:#aa9982;margin:25px 0}.text-tag{display:inline-block;margin-top:8px}.guide-section{background:var(--paper);padding:80px 0}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.guide-grid h3{padding-bottom:20px;border-bottom:1px solid var(--line)}.time-row{display:flex;padding:23px 0;gap:65px}.time-row span{font-size:9px;letter-spacing:.1em}.time-row strong{display:block;font-family:serif;font-weight:400;font-size:38px;letter-spacing:0;line-height:1.4}.guide-row{display:flex;justify-content:space-between;padding:9px 0;font-size:12px}.guide-row strong{font-weight:500}.guide-grid .muted{margin-top:15px}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-weight:400;color:var(--muted);font-size:10px;padding:17px 0}td{border-bottom:1px solid var(--line);padding:12px 0}th:not(:first-child),td:not(:first-child){text-align:right}.guide-notes{display:flex;gap:30px;border-top:1px solid var(--line);margin-top:30px;padding-top:20px;font-size:11px}.guide-notes span:before{content:'✓';margin-right:8px;color:#8c7b62}.location{padding-top:90px;padding-bottom:90px;display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center}.location h2{margin-bottom:20px}.location .muted{margin:15px 0 25px}.text-link{font-size:12px;border-bottom:1px solid #b9ac97;padding-bottom:6px}.location-card{background:var(--paper)}.map-art{height:270px;position:relative;overflow:hidden;background:repeating-linear-gradient(90deg,transparent 0 67px,#e8e6df 68px 69px),repeating-linear-gradient(0deg,#efeee8 0 67px,#e8e6df 68px 69px)}.map-road{position:absolute;height:14px;background:var(--surface);transform:rotate(-28deg);width:150%;left:-20%;top:50%}.r2{transform:rotate(62deg);top:20%}.r3{transform:rotate(8deg);top:80%;height:7px}.map-river{position:absolute;height:430px;width:80px;background:#dbe4df;transform:rotate(20deg);right:25px;top:-70px;border-radius:40%}.map-dot{position:absolute;left:41%;top:42%;padding:7px 20px;background:var(--ink);color:white;font-size:12px;border-radius:2px;box-shadow:0 4px 16px #0002}.map-caption{padding:18px 22px}.map-caption span{display:block;font-size:9px;letter-spacing:.15em}.map-caption small{font-size:10px;color:var(--muted)}.booking-section{padding:70px 0;background:var(--beige);text-align:center}.booking-section h2{margin-bottom:12px}.booking-section>.wrap>p:not(.eyebrow){color:var(--muted);font-size:12px}.booking-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:0;text-align:left;margin-top:32px;background:var(--surface);padding:17px;align-items:center}.booking-form label{padding:0 20px;border-right:1px solid var(--line);font-size:10px;color:var(--muted)}.booking-form input,.booking-form select{display:block;width:100%;min-height:36px;border:0;background:var(--surface);color:var(--ink);font-size:13px;min-width:0}.booking-form .button{margin-left:17px}.booking-notice{margin-top:17px!important;font-size:11px!important}#booking-result{margin-top:20px;padding:20px;background:var(--surface);text-align:left;border-left:3px solid #a18e71;font-size:13px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:42px!important;padding-bottom:42px!important}footer p{font-size:11px;color:var(--muted)}footer small{font-size:9px}.back-top{font-size:10px}.mobile-book{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-60px;left:10px;z-index:100;background:var(--surface);padding:10px}.skip:focus{top:10px}
@media(min-width:1600px){.hero-content{left:calc((100% - 1104px)/2)}}
@media(max-width:900px){.header{padding:0 25px}.header nav{gap:18px}.wrap{padding-left:28px;padding-right:28px}.room-grid{gap:16px}.room-card img{height:190px}.bedding{gap:35px}.bedding-photo img{height:440px}.guide-grid{gap:35px}.location{gap:30px}.booking-form label{padding:0 12px}.booking-form .button{padding:13px 16px;gap:15px}}
@media(max-width:640px){html{scroll-padding-top:80px}.header{height:76px;padding:0 22px}.brand{font-size:24px}.brand span{font-size:7px}.menu-toggle{display:block;border:0;background:none;font-size:23px;padding:10px;color:var(--ink)}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--surface);padding:22px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 12px 16px #0001}.header nav.open{display:flex}.header nav a{padding:12px;font-size:12px}.nav-book{margin-top:8px;text-align:center}.hero{height:650px;min-height:0;max-height:calc(100svh - 76px)}.hero-image{object-position:59% center}.hero-shade{background:linear-gradient(90deg,#18181480,#18181415),linear-gradient(0deg,#18181450,transparent)}.hero-content{left:26px;right:20px;top:23%}.hero .eyebrow{font-size:8px;letter-spacing:.17em}.hero h1{font-size:31px}.hero-name{font-size:13px}.hero-detail{font-size:11px}.hero-bottom{left:26px;right:26px;bottom:36px;font-size:8px}.hero-bottom span:nth-child(2){display:none}.photo-label{font-size:8px}.wrap{padding-left:24px;padding-right:24px}h2{font-size:28px}.intro{padding-top:60px;padding-bottom:55px}.intro h2{font-size:28px}.intro>p:not(.eyebrow){font-size:12px}.intro-facts{margin-top:35px}.intro-facts>span{font-size:8px;letter-spacing:.05em}.intro-facts small{font-size:9px}.rooms-section,.guide-section{padding:55px 0}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:14px;font-size:11px}.room-grid{grid-template-columns:1fr;gap:36px}.room-card img{height:260px}.room-card .eyebrow{margin-top:16px}.room-price{margin-top:16px}.bedding{grid-template-columns:1fr;gap:30px;padding-top:60px;padding-bottom:60px}.bedding-photo img{height:340px}.bedding-copy p:not(.eyebrow){font-size:12px}.guide-grid{grid-template-columns:1fr;gap:32px}.guide-notes{gap:18px;font-size:10px}.location{padding-top:60px;padding-bottom:60px;grid-template-columns:1fr;gap:30px}.map-art{height:230px}.booking-section{padding:50px 0}.booking-section h2{font-size:26px}.booking-form{grid-template-columns:1fr 1fr;padding:15px;gap:18px 0}.booking-form label{padding:0 10px}.booking-form label:nth-child(2){border:0}.booking-form label:nth-child(3){grid-column:1/-1;border:0;border-top:1px solid var(--line);padding-top:14px}.booking-form .button{grid-column:1/-1;margin:0;justify-content:space-between}.booking-notice{font-size:10px!important}footer{flex-wrap:wrap;padding-bottom:105px!important;gap:20px}footer p{width:100%;order:3;font-size:10px}.mobile-book{position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--ink);color:white;display:flex;justify-content:space-between;padding:16px 24px;padding-bottom:calc(16px + env(safe-area-inset-bottom));font-size:11px}.mobile-book span{color:#d8c9b1}}
@media(max-width:640px){.hero h1{font-size:clamp(23px,6.7vw,31px)}}
.photo-pending{height:235px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#e9e6df;color:#686b64;text-align:center}.photo-pending>span{font-size:10px;letter-spacing:.2em;margin-bottom:12px}.photo-pending>p{font-family:'Noto Serif KR',serif;font-size:20px}.photo-pending>small{font-size:10px;margin-top:8px}.room-photo:has(.photo-pending) .room-number{color:#9a9387}.hero-image{object-position:center 70%}.bedding-photo img{object-position:60% center}
@media(max-width:900px){.photo-pending{height:190px}}
@media(max-width:640px){.photo-pending{height:260px}.hero-image{object-position:38% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.location-map{display:block;width:100%;height:330px;border:0}.parking-guide{margin-top:26px}.parking-guide h3{margin-bottom:8px}@media(max-width:700px){.location-map{height:260px}}
