/* Independently authored reservation preview. No legacy CMS controls or styles. */
.reservation-page{padding:65px 0 85px;background:var(--paper);color:var(--ink);font-family:var(--sans)}
.reservation-page *{min-width:0}
.reservation-page .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}
.reservation-shell{width:calc(100% - var(--gutter,5vw)*2);max-width:1120px;margin-inline:auto}
.reservation-page-header{display:grid;grid-template-columns:1fr 390px;gap:10%;align-items:end;padding-bottom:48px}
.reservation-kicker{font:11px/1.7 var(--sans);letter-spacing:.08em;color:var(--muted);margin:0 0 19px}
.reservation-page h1{font:400 45px/1.5 'WayB Maru','WayB Gowun',serif;letter-spacing:-.035em;margin:0 0 21px}
.reservation-page .reservation-introduction{font:16px/1.9 var(--sans);letter-spacing:-.01em;color:var(--muted);margin:0}
.reservation-preview-note{padding:23px 25px;background:var(--sand)}
.reservation-preview-note strong{font:500 14px/1.7 var(--sans)}
.reservation-preview-note p{font:13px/1.9 var(--sans);color:var(--muted);margin:10px 0 0}
.reservation-no-script{font:14px/1.8 var(--sans);padding-block:20px;border-top:1px solid var(--line)}
.reservation-form-section{display:grid;grid-template-columns:1fr 2fr;gap:9%;border-top:1px solid var(--line);padding-block:39px 43px}
.reservation-section-heading>p{font:10px/1.7 var(--sans);letter-spacing:.045em;color:var(--muted);margin:0 0 13px}
.reservation-page .reservation-section-heading h2{font:400 25px/1.7 'WayB Maru','WayB Gowun',serif;letter-spacing:-.02em;margin:0}
.reservation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 21px;margin:0;padding:0;border:0}
.reservation-field{display:flex;flex-direction:column;gap:11px}
.reservation-field-wide{grid-column:1/-1}
.reservation-field>label,.reservation-consultation legend{font:500 14px/1.6 var(--sans);letter-spacing:-.01em;color:var(--ink)}
.reservation-field>label small{font:12px/1.6 var(--sans);color:var(--muted);margin-left:9px}
.reservation-page input:not([type=checkbox]):not([type=radio]),.reservation-page select,.reservation-page textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:0;background:rgba(255,255,255,.45);font:15px/1.7 var(--sans);color:var(--ink);box-sizing:border-box}
.reservation-page textarea{resize:vertical;min-height:118px}
.reservation-page input::placeholder,.reservation-page textarea::placeholder{color:var(--muted);opacity:.8}
.reservation-page :is(input,select,textarea):focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.reservation-page select:disabled,.reservation-page fieldset:disabled{color:var(--muted)}
.reservation-page select:disabled{background:var(--sand);cursor:not-allowed}
.reservation-consultation{grid-column:1/-1;border:0;margin:0;padding:0}
.reservation-consultation legend{padding:0;margin-bottom:14px}
.reservation-consultation label{display:inline-flex;align-items:center;gap:10px;margin-right:26px;min-height:30px;font:14px/1.8 var(--sans);cursor:pointer}
.reservation-page input:is([type=checkbox],[type=radio]){position:static;flex:none;width:18px;height:18px;margin:0;accent-color:var(--ink)}
.reservation-price-note{grid-column:1/-1;padding-block:19px 0;border-top:1px solid var(--line)}
.reservation-price-note>span{font:12px/1.7 var(--sans);color:var(--muted)}
.reservation-price-note p{font:500 18px/1.7 var(--sans);color:var(--ink);margin:5px 0 4px}
.reservation-price-note small{font:12px/1.8 var(--sans);color:var(--muted)}
.reservation-page .reservation-schedule-note{font:12px/1.85 var(--sans);color:var(--muted);margin:0}
.reservation-check{display:flex;align-items:flex-start;gap:11px;font:13px/1.85 var(--sans);cursor:pointer}
.reservation-check input{margin-top:3px!important}
.reservation-privacy{margin-top:22px;border-block:1px solid var(--line)}
.reservation-privacy summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;min-height:50px;padding-block:12px;font:13px/1.8 var(--sans);cursor:pointer}
.reservation-privacy summary::-webkit-details-marker{display:none}
.reservation-privacy summary::marker{content:''}
.reservation-privacy summary>span{font:20px/1 var(--sans);transition:transform .15s}
.reservation-privacy[open] summary>span{transform:rotate(45deg)}
.reservation-privacy>p{font:13px/1.9 var(--sans);color:var(--muted);margin:0;padding-bottom:20px}
.reservation-submit-area{display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid var(--line);padding-block:29px 35px}
.reservation-submit-area p{font:13px/1.9 var(--sans);color:var(--muted);margin:0}
.reservation-submit-area button{display:flex;align-items:center;justify-content:space-between;gap:45px;min-height:54px;padding:14px 23px;border:1px solid var(--line);background:var(--sand);color:var(--muted);font:14px/1.7 var(--sans);cursor:not-allowed}
.reservation-submit-area button:enabled{background:var(--ink);color:var(--paper);cursor:pointer}
.reservation-submit-area button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.reservation-challenge{max-width:100%;padding-block:16px 24px;overflow:clip}
.reservation-challenge[hidden]{display:none}
.reservation-support{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;padding-top:20px}
.reservation-support p{font:13px/1.8 var(--sans);color:var(--muted);margin:0}
.reservation-support a{display:inline-flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;border-bottom:1px solid var(--line);font:13px/1.7 var(--sans)}
.reservation-page summary:focus-visible,.reservation-page a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:900px){.reservation-page-header{grid-template-columns:1fr 1fr;gap:7%}.reservation-form-section{grid-template-columns:1fr 2.2fr;gap:6%}}
@media(max-width:700px){
 .reservation-page{padding-block:36px 58px}.reservation-page-header{grid-template-columns:1fr;gap:27px;padding-bottom:32px}
 .reservation-kicker{font-size:10px;margin-bottom:15px}.reservation-page h1{font-size:34px;margin-bottom:18px}.reservation-page .reservation-introduction{font-size:15px}
 .reservation-preview-note{padding:21px 22px}.reservation-form-section{grid-template-columns:1fr;gap:26px;padding-block:29px 34px}
 .reservation-page .reservation-section-heading h2{font-size:24px}.reservation-section-heading>p{margin-bottom:10px}
 .reservation-fields{grid-template-columns:1fr;gap:23px}.reservation-field-wide{grid-column:auto}
 .reservation-page input:not([type=checkbox]):not([type=radio]),.reservation-page select,.reservation-page textarea{font-size:16px}
 .reservation-consultation,.reservation-price-note{grid-column:auto}.reservation-submit-area{display:block;padding-block:25px 29px}
 .reservation-submit-area button{width:100%;margin-top:23px}.reservation-support{gap:15px 24px;padding-top:8px}.reservation-support p{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){.reservation-privacy summary>span{transition:none}}
