.booking-page{grid-template-columns:.8fr 1.2fr;align-items:start;gap:80px;padding-block:70px 110px;display:grid}.booking-sidebar h1{font:400 clamp(45px, 4.8vw, 72px)/1 var(--serif);letter-spacing:-.04em;margin:28px 0}.booking-sidebar h1 em{color:var(--terracotta)}.booking-sidebar>p:not(.eyebrow){color:var(--muted);max-width:330px;margin-bottom:32px;font-size:13px}.booking-sidebar>img{aspect-ratio:1.3;object-fit:cover;border-radius:50% 50% 0 0;width:100%;max-width:400px}.booking-help{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.booking-help .eyebrow{color:var(--muted);margin-bottom:12px;font-size:9px}.booking-help>a{font:400 28px var(--serif)}.booking-help>p{color:var(--muted);max-width:290px;margin-top:12px;font-size:11px}.booking-card{background:var(--white);border:1px solid var(--line);min-width:0;padding:40px}.booking-loading{align-items:center;gap:14px;min-height:180px;font-size:13px;display:flex}.loading-dot{background:var(--terracotta);border-radius:50%;width:9px;height:9px;animation:1s infinite alternate pulse}@keyframes pulse{to{opacity:.35}}.booking-steps{justify-content:space-between;gap:20px;margin:0 0 40px;padding:0;list-style:none;display:flex}.booking-steps li{color:var(--muted);align-items:center;gap:8px;font-size:10px;display:flex}.booking-steps li>span{border:1px solid var(--line);border-radius:50%;flex:none;justify-content:center;align-items:center;width:27px;height:27px;font-size:9px;display:inline-flex}.booking-steps .active{color:var(--ink);font-weight:600}.booking-steps .active>span,.booking-steps .complete>span{background:var(--olive);color:var(--white);border-color:var(--olive)}.booking-title{outline:none;margin-bottom:14px;font-size:42px}.booking-intro{color:var(--muted);margin-bottom:28px;font-size:12px}.booking-fields{grid-template-columns:1fr 1fr;gap:20px;display:grid}.booking-fields label{flex-direction:column;gap:9px;font-size:11px;font-weight:500;display:flex}.booking-fields .full{grid-column:1/-1}.booking-fields input,.booking-fields select,.booking-fields textarea{border:1px solid var(--line);background:var(--paper);width:100%;min-width:0;min-height:48px;color:var(--ink);color-scheme:light;border-radius:0;padding:13px 12px;font-size:13px}.booking-fields textarea{resize:vertical}.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus{border-color:var(--olive)}.booking-small{color:var(--muted);margin:20px 0;font-size:10px;line-height:1.8}.booking-small a{text-underline-offset:3px;text-decoration:underline}.booking-next{justify-content:space-between;width:100%;margin-top:10px}.booking-error{border-left:3px solid var(--terracotta);color:#803b28;background:#f5e8de;margin-bottom:22px;padding:14px 16px;font-size:12px}.booking-card fieldset{border:0;min-width:0;margin:0;padding:0}.booking-card legend{margin-bottom:12px;padding:0;font-size:12px;font-weight:500}.booking-slots fieldset{margin-bottom:24px}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:9px;display:grid}.slot-choice{background:var(--paper);border:1px solid var(--line);cursor:pointer;padding:12px 8px;font-size:15px;font-weight:500}.slot-choice small{color:var(--muted);margin-top:3px;font-size:9px;font-weight:400;display:block}.slot-choice[aria-pressed=true]{border-color:var(--olive);background:var(--olive);color:var(--white)}.booking-card .table-fieldset{border-top:1px solid var(--line);margin-top:30px;padding-top:12px}.table-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.table-choice{background:var(--paper);border:1px solid var(--line);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;padding:0;display:flex;position:relative;overflow:hidden}.table-choice>img{object-fit:cover;width:100%;height:110px}.table-choice-copy{flex-direction:column;gap:4px;padding:16px 35px 16px 16px;display:flex}.table-choice-copy strong{font-size:14px;font-weight:500}.table-choice-copy>span{color:var(--muted);font-size:10px}.table-choice-copy small{color:var(--muted);font-size:9px}.table-choice-check{color:var(--muted);font-size:18px;position:absolute;bottom:15px;right:12px}.table-choice[aria-pressed=true]{border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive);background:#e8eddf}.table-choice[aria-pressed=true] .table-choice-check{color:var(--olive)}.booking-navigation{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding-top:24px;display:flex}.booking-back{text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:11px;text-decoration:underline}.booking-card button:disabled{opacity:.5;cursor:not-allowed;transform:none}.booking-empty{padding:25px 0}.booking-empty h3{font:400 30px/1.15 var(--serif)}.booking-empty p{color:var(--muted);font-size:12px}.booking-selection{background:#eeeee5;flex-direction:column;gap:4px;margin-bottom:25px;padding:18px;font-size:11px;display:flex}.optional{color:var(--muted);font-size:9px;font-weight:400}.booking-consent{color:var(--muted);align-items:flex-start;gap:10px;margin-top:20px;font-size:10px;display:flex}.booking-consent input{accent-color:var(--olive);flex:none;width:15px;height:15px;margin-top:4px}.honeypot,.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.booking-result h2{outline:none;margin-top:24px;font-size:54px}.booking-result>p{color:var(--muted);font-size:13px}.result-icon{border:1px solid var(--olive);border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:25px;font-size:24px;display:flex}.booking-summary{border-top:1px solid var(--line);margin-top:25px}.booking-summary p{border-bottom:1px solid var(--line);justify-content:space-between;gap:24px;margin:0;padding-block:15px;font-size:11px;display:flex}.booking-summary span{color:var(--muted);flex:none}.booking-summary strong{text-align:right;overflow-wrap:anywhere;font-weight:500}.unavailable h2{margin:24px 0;font-size:48px}.unavailable>p:not(.booking-small){color:var(--muted);font-size:13px}@media (width<=1000px){.booking-page{grid-template-columns:.75fr 1.25fr;gap:40px}.booking-card{padding:30px}.booking-steps{gap:10px}.booking-steps li{gap:5px;font-size:9px}.booking-sidebar h1{font-size:54px}.table-grid{grid-template-columns:1fr}}@media (width<=700px){.booking-page{grid-template-columns:1fr;gap:30px;padding-block:45px 70px}.booking-sidebar h1{font-size:58px}.booking-sidebar>img{display:none}.booking-sidebar>p:not(.eyebrow){max-width:340px;margin-bottom:0}.booking-help{margin-top:24px}.booking-help>p{max-width:none;margin-bottom:0}.booking-card{padding:28px 22px}.booking-title{font-size:37px}.booking-steps{margin-bottom:32px}.booking-steps li{font-size:9px}.booking-navigation{gap:12px}.booking-navigation .button{gap:14px;padding-inline:18px}.booking-fields{gap:15px}.table-grid{grid-template-columns:1fr 1fr}.booking-result h2{font-size:48px}.unavailable h2{font-size:43px}.unavailable .button{gap:12px;padding-inline:16px;font-size:10px}.booking-summary p{gap:12px;font-size:10px}}@media (width<=370px){.booking-steps{gap:6px}.booking-steps li>span{width:23px;height:23px}.booking-card{padding:24px 16px}.booking-fields,.table-grid{grid-template-columns:1fr}.booking-steps li{font-size:8px}}.area-intro{color:var(--muted);max-width:390px;margin:0 0 20px;font-size:12px}.area-grid{align-items:stretch}.area-choice{transition:border-color .2s,background .2s}.area-choice:hover{border-color:var(--olive)}.area-choice-visual{background:#e8e6d9;justify-content:center;align-items:center;width:100%;height:135px;display:flex;position:relative;overflow:hidden}.area-choice-visual img{object-fit:cover;width:100%;height:100%}.area-mark{color:var(--olive);font-size:52px;line-height:1}.area-photo-caption{color:var(--ink);background:#fffdf7e6;padding:2px 6px;font-size:8px;position:absolute;bottom:8px;left:10px}.area-choice .table-choice-copy{padding:20px 16px 24px;gap:9px;padding-right:36px}.area-choice .table-choice-copy .eyebrow{color:var(--muted);font-size:8px}.area-choice .table-choice-copy strong{font:500 26px/1.1 var(--serif);letter-spacing:-.025em}.area-choice .table-choice-copy>span:not(.eyebrow){color:var(--ink);font-size:11px;font-weight:500}.booking-arrangement{color:var(--muted);margin:-10px 0 25px;font-size:11px;line-height:1.7}.booking-result .booking-arrangement{margin:20px 0}@media (width<=1000px) and (width>=701px){.area-choice{grid-template-columns:110px 1fr;display:grid}.area-choice-visual{height:100%;min-height:160px}}@media (width<=420px){.area-grid{grid-template-columns:1fr}.area-choice{grid-template-columns:105px 1fr;display:grid}.area-choice-visual{height:100%;min-height:165px}.area-choice .table-choice-copy{padding:18px 32px 20px 14px}.area-choice .table-choice-copy strong{font-size:25px}.area-photo-caption{text-align:center;padding:2px 3px;font-size:7px;left:5px;right:5px}}.booking-page{grid-template-columns:.8fr 1.2fr;gap:56px;padding-block:38px 65px}.booking-sidebar h1{font-family:var(--sans);letter-spacing:-.055em;margin-block:22px;font-size:clamp(36px,3.9vw,56px);font-weight:800;line-height:1.05}.booking-sidebar>p:not(.eyebrow){max-width:390px;font-size:15px;line-height:1.75}.booking-sidebar>img{aspect-ratio:1.6;border-radius:22px}.booking-help .eyebrow{font-size:10px}.booking-help>a{font-family:var(--sans);letter-spacing:-.035em;font-size:24px;font-weight:700}.booking-help>p{font-size:13px}.booking-card{border-color:var(--line);border-radius:26px;padding:32px;box-shadow:0 8px 32px #27292306}.booking-title{letter-spacing:-.045em;font-size:clamp(27px,2.6vw,36px);font-weight:800;line-height:1.1}.booking-intro,.area-intro{font-size:14px;line-height:1.65}.booking-steps{gap:10px;margin-bottom:30px}.booking-steps li{font-size:11px}.booking-steps li>span{width:30px;height:30px;font-size:11px}.booking-fields label{font-size:13px;font-weight:700}.booking-fields input,.booking-fields select,.booking-fields textarea{background:var(--white);border-color:#bbb6a8;border-radius:12px;min-height:52px;font-size:16px}.booking-small,.booking-consent{font-size:12px;line-height:1.65}.booking-consent input{width:18px;height:18px;margin-top:3px}.booking-card legend{font-size:14px;font-weight:700}.slot-choice{border-radius:12px;padding-block:12px;font-weight:700}.slot-choice small{font-size:10px}.slot-choice[aria-pressed=true]{background:var(--gold);color:var(--ink);border-color:#9b742f;box-shadow:inset 0 0 0 1px #9b742f}.slot-choice[aria-pressed=true] small{color:var(--ink)}.table-choice{border-radius:18px}.table-choice[aria-pressed=true]{background:#f5e5c4;border-color:#9b742f;box-shadow:inset 0 0 0 1px #9b742f}.area-choice-visual{background:#e9dfcc}.area-choice .table-choice-copy strong{font-family:var(--sans);letter-spacing:-.035em;overflow-wrap:anywhere;font-size:22px;font-weight:700;line-height:1.15}.area-choice .table-choice-copy .eyebrow{font-size:9px}.area-choice .table-choice-copy small{font-size:12px;line-height:1.5}.area-photo-caption{border-radius:5px;font-size:9px}.booking-back{font-size:13px}.booking-selection{background:#f3e8d2;border-radius:14px;font-size:14px;line-height:1.6}.booking-selection strong{font-weight:700}.booking-arrangement,.booking-summary p{font-size:13px}.booking-summary strong{font-weight:700}.booking-error{border-left-color:#a54630;border-radius:12px;font-size:14px}.booking-result h2,.unavailable h2{font-size:clamp(30px,3vw,42px);font-weight:800;line-height:1.1}.booking-result>p,.unavailable>p:not(.booking-small),.booking-empty p{font-size:15px}.booking-empty h3{font-family:var(--sans);font-size:26px;font-weight:700}.optional{font-size:11px}.booking-navigation{gap:12px}.booking-next{margin-top:18px}@media (width<=1050px){.booking-page{grid-template-columns:.7fr 1.3fr;gap:30px}.booking-card{padding:26px}.booking-sidebar h1{font-size:40px}}@media (width<=800px){.booking-page{grid-template-columns:1fr;gap:28px;padding-block:26px 50px}.booking-sidebar h1{font-size:clamp(38px,8vw,54px)}.booking-sidebar>img{display:none}.booking-sidebar>p:not(.eyebrow){max-width:600px;margin-bottom:0}.booking-help{margin-top:20px;padding-top:16px}.booking-help>p{max-width:100%;margin-bottom:0}.booking-card{padding:26px}.area-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.booking-card{border-radius:20px;padding:24px 18px}.booking-fields{grid-template-columns:1fr}.booking-steps{gap:7px}.booking-steps li{gap:5px;font-size:9px}.booking-steps li>span{width:25px;height:25px;font-size:10px}.booking-title{font-size:29px}.area-grid{grid-template-columns:1fr}.area-choice{grid-template-columns:95px 1fr;display:grid}.area-choice-visual{height:100%;min-height:160px}.area-choice .table-choice-copy{padding:18px 30px 18px 14px}.area-choice .table-choice-copy strong{font-size:21px}.area-photo-caption{text-align:center;font-size:8px;left:5px;right:5px}.booking-navigation .button{padding-inline:16px;font-size:13px}.booking-summary p{font-size:12px}}
