:root{--paper:#f5f3ee;--panel:#fbfaf7;--ink:#292a27;--muted:#777a73;--line:#d4d3cb;--sans:'Noto Sans KR',sans-serif;--roman:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.8 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #777;outline-offset:4px}[hidden]{display:none!important}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{display:block;padding:12px;background:white}.reservation-header{max-width:1340px;margin:auto;padding:29px 40px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;flex-direction:column;gap:2px;width:150px}.brand img{display:block;width:150px;height:55px;object-fit:contain}.brand span{font-size:5px;letter-spacing:.27em}.reservation-header nav{display:flex;align-items:center;gap:30px;font-size:12px}.reservation-header nav a{padding:8px 0}.reservation-header nav a[aria-current=page]{border-bottom:1px solid var(--ink)}.reservation-main{max-width:1120px;margin:0 auto;padding:52px 30px 0}.page-heading{text-align:center;margin-bottom:34px}.eyebrow,.section-number{font-size:9px;letter-spacing:.16em;color:var(--muted);margin:0 0 11px}.page-heading h1{font-size:32px;font-weight:500;letter-spacing:-.065em;line-height:1.5;margin:0 0 13px}.page-heading>p:not(.eyebrow){font-size:13px;color:#63675e;margin:5px 0}.page-heading>p.small{font-size:10px;color:var(--muted)}.preview-note{font-size:10px;line-height:1.9;color:var(--muted);padding:12px 16px;border:1px solid var(--line);margin:0 0 20px;background:transparent}.preview-note strong{font-weight:500;color:#55594f;margin-right:6px}.reservation-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--panel)}.calendar-section,.enquiry-section{min-width:0;padding:30px}.enquiry-section{border-left:1px solid var(--line)}h2{font-size:21px;letter-spacing:-.045em;font-weight:500;margin:0 0 9px;line-height:1.5}.section-description{color:var(--muted);font-size:11px;margin:0 0 24px}.month-nav{display:flex;align-items:center;justify-content:space-between;margin:24px 0 18px}.month-nav h3{font:500 30px/1.3 var(--roman);margin:0}.month-nav button{border:1px solid var(--line);background:transparent;width:32px;height:32px;border-radius:50%;font-size:16px}.month-nav button:disabled{opacity:.3}.week-labels,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.week-labels{font-size:10px;color:var(--muted);text-align:center;margin-bottom:12px}.booking-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;height:52px;border:1px solid #deddd5;background:#eeede7;border-radius:3px}.booking-day b{font-size:13px;font-weight:500}.booking-day small{font-size:7px;white-space:nowrap;color:#777b71}.booking-day:not(:disabled):hover,.booking-day.selected{background:#343632;border-color:#343632;color:#fff}.booking-day:not(:disabled):hover small,.booking-day.selected small{color:#fff}.booking-day:disabled{background:transparent;border-color:transparent;color:#b1b2a8}.booking-day:disabled small{color:#b1b2a8}.calendar-legend{display:flex;gap:22px;justify-content:center;padding:16px 0 14px;border-bottom:1px solid var(--line);font-size:9px;color:var(--muted)}.calendar-legend span{display:flex;gap:5px;align-items:center}.calendar-legend i{width:8px;height:8px;background:#eeede7;border:1px solid #c8c9bd}.calendar-legend .closed{background:#b4b6ab;border-color:#b4b6ab}.calendar-status{font-size:11px;min-height:20px;margin:15px 0;color:#5b6254}.package-summary{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:11px}.package-summary strong{font-size:15px;font-weight:500}.package-summary p{flex-basis:100%;font-size:10px;line-height:2;color:var(--muted);margin:3px 0}.package-summary small{font-size:9px;color:var(--muted)}.quiet-note{font-size:9px;color:var(--muted);line-height:1.9;margin:18px 0 0}.selected-date{padding:15px 0 18px;border-block:1px solid var(--line);margin:22px 0}.selected-date>span{font-size:9px;color:var(--muted)}.selected-date>strong{display:block;font-size:20px;font-weight:500;letter-spacing:-.03em;margin:2px 0 4px;line-height:1.6}.selected-date p{font-size:10px;color:var(--muted);margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}.form-grid label{font-size:11px;min-width:0}.required,.optional{font-size:8px;color:#9b9d92;margin-left:5px}.wide{grid-column:1/-1}input:not([type=checkbox]),textarea{display:block;width:100%;border:0;border-bottom:1px solid #b7b8ac;background:transparent;border-radius:0;padding:10px 0;font-size:12px;resize:vertical;min-height:42px}input::placeholder,textarea::placeholder{color:#a2a499}fieldset{margin:0;padding:0;border:0;min-width:0}fieldset:disabled{opacity:.45}.consent{display:flex;align-items:flex-start;gap:8px;font-size:10px;margin:20px 0 10px}.consent input{width:15px;height:15px;margin:2px 0 0;flex:none;accent-color:#444}.privacy{font-size:9px;color:var(--muted);margin:0 0 20px}.privacy summary{cursor:pointer}.privacy p{line-height:1.9}.primary-button,.outline-button{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;padding:13px 15px;border:1px solid #30332c;background:#30332c;color:white;border-radius:3px;font-size:12px;line-height:1.7;text-align:center}.primary-button:hover:not(:disabled){background:#4b4e46}.outline-button{background:transparent;color:var(--ink);border-color:#c8c9bf}.outline-button:hover{background:#eeede7}.text-button{display:block;font-size:10px;padding:6px 0;margin:12px 0 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--muted)}.contact-options{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.contact-options>p{font-size:10px;color:var(--muted);margin:0 0 11px}.contact-phone{display:inline-block;font-size:11px;padding:4px 0}.contact-options>small{display:block;font-size:8px;color:var(--muted);margin-top:7px}.contact-options .outline-button{margin-bottom:9px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-result{padding:12px;border:1px solid #bcb7aa;font-size:11px;line-height:1.9;margin:16px 0 0}.receipt h3{font-size:22px;line-height:1.6;font-weight:500;letter-spacing:-.035em;margin:0 0 12px}.receipt>p{font-size:11px;line-height:1.9;color:var(--muted)}.receipt dl{border-block:1px solid var(--line);margin:20px 0;padding:14px 0}.receipt dl>div{display:grid;grid-template-columns:70px 1fr;gap:10px;font-size:11px;padding:5px 0}.receipt dt{color:var(--muted)}.receipt dd{margin:0;overflow-wrap:anywhere}.reservation-process{border-bottom:1px solid var(--line);padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.reservation-process p{margin:0}.reservation-process ol{list-style:none;display:flex;gap:22px;padding:0;margin:0}.reservation-process li+li:before{content:'→';margin-right:22px;color:#aaa}.reservation-footer{max-width:1120px;margin:auto;padding:24px 30px 30px;display:flex;justify-content:space-between;gap:15px;font-size:9px;color:var(--muted)}
@media(max-width:760px){.reservation-header{padding:16px 20px;flex-direction:column;gap:13px}.brand{width:125px}.brand img{width:125px;height:46px}.reservation-header nav{font-size:11px;gap:30px}.reservation-main{padding:32px 20px 0}.page-heading{margin-bottom:26px}.page-heading h1{font-size:28px}.page-heading>p:not(.eyebrow){font-size:11px}.page-heading>p.small{font-size:9px}.preview-note{font-size:9px;padding:10px 12px}.reservation-grid{grid-template-columns:1fr}.calendar-section,.enquiry-section{padding:24px 20px}.enquiry-section{border-left:0;border-top:1px solid var(--line);scroll-margin-top:16px}.booking-day{height:48px}.booking-day small{font-size:7px}.reservation-process{display:block}.reservation-process ol{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;margin-top:14px}.reservation-process li+li:before{display:none}.reservation-process li{list-style:decimal;list-style-position:inside}.form-grid{gap:16px}.consent{font-size:10px}.reservation-footer{padding-inline:20px;font-size:8px}.contact-options>small{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand img{mix-blend-mode:multiply}.date-change{float:right;font-size:9px;color:var(--muted);border-bottom:1px solid var(--line)}

.flow-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 12px}.flow-choice button{padding:20px 12px;background:transparent;border:1px solid #cccac0;text-align:left;color:inherit;cursor:pointer}.flow-choice button[aria-pressed=true]{background:#565e4c;color:white;border-color:#565e4c}.flow-choice b,.flow-choice small{display:block}.flow-choice b{font-size:18px;margin-bottom:8px}.flow-choice small{font-size:12px;line-height:1.7}.flow-choice button:focus-visible{outline:3px solid #8f9c7a;outline-offset:3px}#flow-description{font-size:13px;line-height:1.8}#reservation-options{padding:20px;background:#f1efe8;margin-bottom:24px}#reservation-options label{display:block;margin:15px 0}#reservation-options select{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #cccac0;background:#fff;font:inherit}.payment-next{padding:20px;border:1px solid #bfc6b2;margin:20px 0}.payment-next p{font-size:13px;line-height:1.8}[hidden]{display:none!important}

/* Compact application selector, aligned with the existing form. */
.flow-choice{gap:8px;margin:14px 0 0}
.flow-choice button{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 28px;border-radius:3px;font:inherit;transition:background .15s,border-color .15s}
.flow-choice b{font-size:13px;line-height:22px;margin:0;font-weight:500}
.flow-choice small{display:none}
.flow-choice button[aria-pressed=true]::after{content:'✓';position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;opacity:.8}
#flow-description{margin:0;padding:9px 0 12px;font-size:11px;color:var(--muted);line-height:1.7;border-bottom:1px solid var(--line)}
.enquiry-section>.selected-date{border-top:0;margin:0 0 18px;padding:12px 0 14px}
.enquiry-section>.section-number{margin-bottom:7px}
.enquiry-section>h2{font-size:19px;line-height:1.4;margin-bottom:0}
