.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}.booking-page{min-height:100svh}.booking-header{height:105px;margin:0 var(--gutter);display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.booking-header .wordmark{font-size:48px}.booking-back-site{margin-left:auto;font-size:14px;border-bottom:1px solid var(--line)}.booking-header .language{font-size:14px;padding:12px}.booking-shell{max-width:1420px;margin:52px auto 65px;padding:0 var(--gutter);display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:7%;align-items:start}.booking-aside{background:var(--dark);color:var(--paper);position:sticky;top:30px;overflow:hidden;min-height:730px}.booking-aside>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:.29}.booking-aside:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#2e2b2b 5%,#2e2b2b99 65%,#2e2b2b20)}.booking-aside-inner{position:relative;z-index:1;padding:38px 35px;min-height:730px;display:flex;flex-direction:column}.booking-aside .eyebrow{font-size:11px;letter-spacing:.14em}.booking-aside h1{font-size:clamp(50px,4.5vw,70px);line-height:.97;letter-spacing:-.035em;margin-top:45px}.booking-aside h1 em{color:#e6e5e1}.booking-aside-inner>p:not(.eyebrow){font-size:14px;color:#e6e5e1;margin-top:25px;max-width:220px}.booking-summary{margin-top:38px;margin-bottom:36px}.booking-summary dl{margin:0}.booking-summary dl>div{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff26;padding:11px 0;font-size:13px}.booking-summary dt{color:#c8c6c1}.booking-summary dd{margin:0;max-width:180px;text-align:right}.aside-contact{margin-top:auto;display:flex;flex-direction:column;gap:2px;color:#c8c6c1;font-size:12px}.booking-progress{list-style:none;display:flex;justify-content:space-between;padding:0;margin:0 0 48px;border-bottom:1px solid var(--line);gap:15px}.booking-progress li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding-bottom:18px;border-bottom:2px solid transparent;margin-bottom:-1px}.booking-progress li>span:first-child{font-family:var(--serif);font-size:23px}.booking-progress li[aria-current]{color:var(--accent-ink);border-bottom-color:var(--accent-ink)}.booking-progress li.completed{color:var(--ink)}.booking-step>.eyebrow{color:var(--accent-ink);font-size:12px;letter-spacing:.14em}.booking-step h2{font-size:46px;letter-spacing:-.02em;line-height:1.04;margin:18px 0 30px;outline:none}.experience-options{padding:0;margin:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.experience-option{position:relative;cursor:pointer}.experience-option>input{position:absolute;opacity:0;top:20px;left:20px}.option-content{display:flex;flex-direction:column;border:1px solid var(--line);padding:22px 20px;min-height:300px;transition:background .2s,border .2s}.experience-option input:checked+.option-content{background:#deddd8;border-color:var(--accent-ink)}.experience-option input:focus-visible+.option-content{outline:2px solid var(--accent-ink);outline-offset:4px}.option-top{display:flex;justify-content:space-between;align-items:center}.option-top strong{font-family:var(--serif);font-size:50px;font-weight:400;line-height:1}.option-check{width:18px;height:18px;border:1px solid #a3a09b;border-radius:50%;display:grid;place-items:center}.experience-option input:checked+.option-content .option-check:after{content:'';width:8px;height:8px;background:var(--accent-ink);border-radius:50%}.option-title{font-size:15px;margin-top:26px;line-height:1.5}.option-description{font-size:13px;color:var(--muted);line-height:1.8;margin:12px 0 25px}.option-bottom{display:flex;justify-content:space-between;gap:14px;margin-top:auto;font-size:13px;flex-wrap:wrap}.option-bottom>span:first-child{color:var(--accent-ink)}.option-bottom small{font-size:11px}.booking-fine{font-size:13px;color:var(--muted);line-height:1.8;margin-top:16px}.booking-fine a{text-decoration:underline;text-underline-offset:3px}.booking-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:22px;border-top:1px solid var(--line);padding-top:26px;margin-top:36px}.booking-primary,.booking-secondary{display:inline-flex;align-items:center;justify-content:center;gap:35px;min-height:49px;border:1px solid var(--accent-ink);padding:13px 23px;font-family:var(--sans);font-size:14px;line-height:1.5}.booking-primary{background:var(--accent-ink);color:var(--paper)}.booking-primary:hover{background:#2e2b2b}.booking-secondary{background:transparent;color:var(--accent-ink)}.booking-secondary:hover{background:#2604040c}.booking-form-actions>.booking-secondary{margin-right:auto;border-color:transparent;padding-left:0}.booking-primary:disabled,.booking-secondary:disabled{opacity:.55;cursor:wait}.guests-row{display:flex;align-items:center;justify-content:space-between;gap:30px}.guests-row label{font-size:15px}.guests-row select{min-width:115px;padding:13px 16px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit}.calendar{border-top:1px solid var(--line);margin-top:23px;padding-top:23px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.calendar-heading h3{font-family:var(--sans);font-size:16px;text-transform:capitalize;line-height:1.4}.calendar-heading>div{display:flex;gap:10px}.calendar-heading button{border:1px solid var(--line);background:none;width:40px;height:40px}.calendar-heading button:disabled{opacity:.25;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{font-size:12px;text-align:center;color:var(--muted);margin-bottom:12px}.calendar-days button{height:43px;background:transparent;border:1px solid transparent;font-size:14px}.calendar-days button:hover:enabled{border-color:var(--accent-ink)}.calendar-days button[aria-pressed=true]{background:var(--accent-ink);color:var(--paper)}.calendar-days button:disabled{color:#a3a09b;cursor:default}.calendar-days button.is-today:not([aria-pressed=true]){border-bottom-color:var(--accent-ink)}.time-fieldset{border:0;padding:0;margin:26px 0 0}.time-fieldset legend{font-size:15px}.time-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:15px}.slot{border:1px solid var(--line);background:transparent;padding:12px 6px;min-height:46px;font-size:14px}.slot small{display:block;font-size:10px;color:var(--muted);line-height:1.5}.slot.waitlist-slot{border-style:dashed}.slot[aria-pressed=true]{border-color:var(--accent-ink);background:#deddd8;color:var(--accent-ink)}.status-note{font-size:14px;line-height:1.8;background:#deddd8;border-left:2px solid var(--accent-ink);padding:17px 19px;margin-top:23px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-top:21px}.field-grid .field{margin-top:0}.field label{display:block;font-size:14px;margin-bottom:9px;line-height:1.6}.field label small{font-size:12px;color:var(--muted)}.field input,.field textarea,.admin-settings input,.admin-settings select,.admin-settings textarea{width:100%;border:1px solid var(--line);padding:13px 15px;background:#ffffff30;border-radius:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{outline:1px solid var(--accent-ink);outline-offset:0;border-color:var(--accent-ink)}.bot-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.review-summary dl{margin:0}.review-summary dl>div{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding:15px 0;font-size:14px}.review-summary dt{color:var(--muted);flex:0 0 30%}.review-summary dd{margin:0;text-align:right;overflow-wrap:anywhere}.booking-policy{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:25px}.booking-policy summary{padding:18px 0;cursor:pointer;font-size:14px}.booking-policy>div{padding-bottom:20px;font-size:13px;line-height:1.85;color:var(--muted)}.booking-policy p+p{margin-top:15px}.consent{display:flex;align-items:flex-start;gap:13px;font-size:13px;line-height:1.8;margin-top:23px;cursor:pointer}.consent input{width:19px;height:19px;flex-shrink:0;margin-top:4px;accent-color:var(--accent-ink)}.form-error{padding:15px 18px;background:#f0dad4;border-left:3px solid #a04436;color:#6b241c;font-size:14px;line-height:1.8;margin:0 0 25px}.booking-footer{display:flex;justify-content:space-between;margin:0 var(--gutter);border-top:1px solid var(--line);padding:25px 0 30px;font-size:12px;color:var(--muted)}.receipt-main{max-width:720px;margin:65px auto 95px;padding:0 var(--gutter)}.receipt-main h1{font-size:66px;margin:22px 0 26px;letter-spacing:-.025em}.status-badge{display:inline-block;border:1px solid #a3a09b;color:var(--accent-ink);padding:6px 10px;font-size:12px;letter-spacing:.03em}.status-badge[data-status=confirmed]{color:#3c5541;border-color:#6d806b}.status-badge[data-status=cancelled],.status-badge[data-status=declined]{color:var(--muted)}.receipt-lead{font-size:16px;line-height:1.9;color:var(--muted);margin-bottom:28px}.receipt-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:27px}.receipt-main .booking-fine{margin-top:22px}.receipt-cancel{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.cancel-question{font-family:var(--serif);font-size:30px}.admin-main{margin:45px auto 80px;padding:0 var(--gutter);max-width:1500px}.admin-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:28px}.admin-title h1{font-size:54px;letter-spacing:-.025em}.admin-title p{font-size:14px;color:var(--muted);margin-top:12px}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px;margin:25px 0}.admin-toolbar label{font-size:12px;display:flex;flex-direction:column;gap:7px}.admin-toolbar input,.admin-toolbar select{background:transparent;border:1px solid var(--line);font:inherit;padding:10px 12px;font-size:14px;min-height:43px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}.admin-stat{padding:22px 25px;background:#deddd8;border-top:1px solid var(--accent-ink)}.admin-stat strong{font-family:var(--serif);font-size:45px;font-weight:400;display:block;line-height:1}.admin-stat span{display:block;font-size:12px;margin-top:8px}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:14px}.admin-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:400;padding:16px 14px;border-bottom:1px solid var(--line)}.admin-table td{padding:19px 14px;border-bottom:1px solid var(--line)}.admin-table td:first-child,.admin-table th:first-child{padding-left:0}.admin-table button{border:0;border-bottom:1px solid var(--accent-ink);background:none;color:var(--accent-ink);font:inherit;padding:5px 0}.admin-table .status-badge{font-size:11px}.admin-settings{border:1px solid var(--line);margin-top:45px;padding:0 25px}.admin-settings>summary{padding:23px 0;font-size:17px;cursor:pointer}.admin-settings h3{font-size:34px;margin:25px 0 20px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.admin-settings label{font-size:13px;display:block;margin-bottom:15px}.admin-settings input,.admin-settings select,.admin-settings textarea{margin-top:8px;font-size:14px}.service-settings{border-top:1px solid var(--line);margin:15px 0 25px;padding-top:12px}.day-settings{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:20px}.day-settings label{display:flex;align-items:center;gap:7px}.day-settings input{width:17px;height:17px;accent-color:var(--accent-ink);margin:0}.admin-settings .booking-primary{margin:10px 0 28px}.admin-dialog{border:0;background:var(--paper);color:var(--ink);width:min(620px,92vw);max-height:90svh;padding:35px;overflow-y:auto}.admin-dialog::backdrop{background:#2e2b2bb3;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-top h2{font-size:35px}.dialog-close{border:0;background:none;font-size:27px;width:36px;height:36px}.admin-dialog .review-summary dd{white-space:pre-wrap}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.admin-empty{padding:45px 20px;text-align:center;color:var(--muted);border-bottom:1px solid var(--line)}.admin-notice{font-size:13px;line-height:1.8;color:var(--muted);margin-top:14px}.admin-settings .status-note{margin:0 0 25px}.inline-success{padding:15px;background:#dde5d8;color:#304632;font-size:14px;margin-bottom:20px}
@media(max-width:1100px){.booking-shell{gap:5%;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr)}.booking-aside-inner{padding:30px 25px}.booking-aside h1{font-size:52px}.experience-options{gap:12px}.option-content{padding:20px 15px;min-height:330px}.option-bottom{font-size:12px}.booking-progress{gap:9px}.booking-progress li{font-size:11px;gap:6px}.booking-step h2{font-size:41px}.booking-summary dl>div{font-size:12px;gap:15px}}
@media(max-width:760px){.booking-header{height:86px;gap:20px}.booking-header .wordmark{font-size:42px}.booking-back-site{font-size:12px}.booking-shell{display:block;margin-top:30px}.booking-aside{display:none}.booking-form-area{max-width:560px;margin:auto;scroll-margin-top:20px}.booking-progress{margin-bottom:35px}.booking-progress li{font-size:12px}.booking-step h2{font-size:43px;max-width:430px}.option-content{min-height:300px;padding:23px 20px}.booking-footer{font-size:12px}.receipt-main{margin-top:45px}.receipt-main h1{font-size:55px}.admin-main{margin-top:30px}.admin-title{align-items:flex-start;flex-direction:column}.admin-title h1{font-size:47px}.admin-stats{gap:12px}.admin-stat{padding:18px 16px}.settings-grid{grid-template-columns:1fr;gap:5px}.admin-toolbar{gap:15px}.admin-toolbar label{flex:1;min-width:130px}.admin-settings{padding:0 18px}.admin-dialog{padding:25px}}
@media(max-width:420px){.booking-header{gap:10px}.booking-back-site{font-size:11px;max-width:115px;text-align:right}.booking-header .language{padding:10px;font-size:13px}.booking-progress li{flex-direction:column;align-items:flex-start;gap:3px;font-size:11px}.booking-progress{gap:15px}.booking-step h2{font-size:39px}.experience-options{grid-template-columns:1fr}.option-content{min-height:0;padding:22px}.option-title{margin-top:13px;font-size:16px}.option-description{margin:10px 0 20px;font-size:14px}.option-bottom{font-size:14px}.booking-step>.eyebrow{font-size:11px}.booking-primary{padding:13px 19px;gap:18px;font-size:14px}.field-grid{grid-template-columns:1fr;gap:20px}.calendar-weekdays,.calendar-days{gap:3px}.time-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-days button{height:39px}.booking-form-actions{gap:15px}.booking-form-actions #booking-submit{font-size:13px}.receipt-main h1{font-size:49px}.review-summary dl>div{gap:20px;font-size:14px}.review-summary dt{flex-basis:34%}.receipt-actions .booking-primary,.receipt-actions .booking-secondary{width:100%;gap:15px}.admin-stats{gap:8px}.admin-stat{padding:16px 12px}.admin-stat span{font-size:11px}.admin-stat strong{font-size:38px}.admin-title h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
