button,input,textarea{font:inherit}button{cursor:pointer}button.button,button.text-link,button.mobile-book{border:0}button.text-link{background:none;color:inherit;border-bottom:1px solid currentColor;padding-left:0;padding-right:0}button:focus-visible{outline:2px solid #a48a52;outline-offset:4px}.header-book{display:flex;align-items:center;gap:24px;min-height:48px;padding:10px 0;background:none;border:0;border-bottom:1px solid #c5b38c;color:var(--paper);font-size:14px;line-height:1.45;text-align:left}.header-book span{color:var(--gold);font-size:20px}.booking-open{overflow:hidden}.booking-dialog{padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 100px #0005}.booking-dialog::backdrop{background:#101912b8;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;padding:28px 30px 16px;position:sticky;top:0;z-index:2;background:var(--paper);border-bottom:1px solid var(--line)}.dialog-heading .eyebrow{font-size:9px;margin:0 0 12px}.dialog-heading h2{font-size:33px;line-height:1.1;letter-spacing:-.025em}.dialog-close{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--line);color:var(--ink);width:44px;height:44px;flex:none;font-size:30px;line-height:1}.booking-dialog form{padding:22px 30px 26px}.form-intro{font-size:13px;color:var(--muted);margin-bottom:22px;line-height:1.7}.field{display:block;font-size:13px;margin-top:18px}.field>span,legend>span{color:#947647}.field small{font-size:11px;color:var(--muted);margin-left:5px}.field input,.field textarea{display:block;width:100%;padding:13px 14px;margin-top:8px;border:1px solid #bfc3b6;border-radius:0;background:#faf9f5;color:var(--ink);font-size:16px;min-height:48px;outline-offset:3px}.field input:focus,.field textarea:focus{outline:2px solid #6c785c}.field textarea{resize:vertical}.field-help{font-size:11px;line-height:1.6;color:var(--muted);margin-top:7px}fieldset{border:0;padding:0;margin:25px 0 0;min-width:0}legend{padding:0;margin-bottom:12px;font-size:13px}.date-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.time-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.choice{position:relative;cursor:pointer}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice>span{display:flex;align-items:center;justify-content:center;border:1px solid #bfc3b6;background:#faf9f5;min-height:48px;padding:12px 6px;transition:background .15s,color .15s;font-size:14px}.choice input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:inset 0 -3px var(--gold)}.choice input:focus-visible+span{outline:2px solid #947647;outline-offset:3px}.date-choice>span{flex-direction:column;line-height:1.5}.date-choice strong{font-weight:400;font-size:13px}.date-choice small{font-size:10px;opacity:.8}.consent{display:flex;align-items:start;gap:10px;font-size:11px;line-height:1.6;color:var(--muted);margin-top:22px}.consent input{flex:none;width:20px;height:20px;margin:2px 0;accent-color:var(--ink)}.consent a{text-decoration:underline;text-underline-offset:3px}.bot-field{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-status{font-size:13px;line-height:1.7;margin-top:16px;overflow-wrap:anywhere}.form-status:empty{display:none}.form-status.is-error{color:#8b3429}.submit-booking{width:100%;margin-top:20px}.submit-booking:disabled{opacity:.65;cursor:wait}.form-contact{text-align:center;font-size:12px;color:var(--muted);margin-top:14px}.form-contact a{color:var(--ink);text-decoration:underline}.booking-success{padding:32px 30px;text-align:center}.booking-success[hidden],#booking-form[hidden]{display:none}.success-mark{font-size:36px;color:#5f7047}.booking-success h3{font:32px Georgia,serif;margin:15px 0}.booking-success p{font-size:14px;margin:14px 0}.booking-success .button{justify-content:center;margin-top:20px;width:100%}
@media(max-width:620px){.header-book{font-size:12px;gap:12px;max-width:200px;flex:1}.header-book span{font-size:18px}.header{gap:16px}.hero .button{gap:12px;text-align:left;line-height:1.5}.mobile-book{width:100%;text-align:left;font-size:13px;align-items:center;gap:12px}.booking-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:auto}.dialog-heading{padding:20px 18px 15px;gap:10px}.dialog-heading h2{font-size:27px}.dialog-heading .eyebrow{font-size:8px;margin-bottom:10px}.booking-dialog form{padding:18px}.form-intro{font-size:13px;margin-bottom:16px}.field{font-size:13px}.field-help{font-size:11px}.consent{font-size:11px}.booking-success{padding:25px 18px}.choice>span{min-height:48px}.date-choice strong{font-size:12px}.date-choice small{font-size:9px}.time-options{gap:7px}fieldset{margin-top:22px}}
@media(max-width:430px){.header-call{display:none}.header-book{max-width:none;margin-left:auto;flex:0 1 215px}.dialog-heading h2{font-size:25px}.date-choice strong{font-size:11px}}
