[hidden]{display:none!important}.booking-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;max-width:1360px;margin:auto;padding:65px 6% 100px;align-items:start}.booking-intro{padding-top:23px;position:sticky;top:35px}.booking-intro>.eyebrow{color:var(--muted)}.booking-intro h1{font-size:clamp(42px,4.1vw,62px);letter-spacing:-.035em;margin:25px 0}.booking-intro>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#716c64}.booking-assurance{display:flex;gap:20px;margin-top:28px}.booking-assurance>span{font:23px Georgia,serif;color:#a69371}.booking-assurance>p{font-size:11px;line-height:1.8;color:#716c64}.booking-intro .text-button{width:fit-content;margin-top:30px}.booking-panel{padding:34px;border:1px solid #ded8ce;background:#fff;border-radius:var(--media-radius);min-width:0}.booking-progress{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 0 24px;margin:0 0 30px;border-bottom:1px solid #e3ddd3;font:11px Arial,sans-serif;color:#8c857a}.booking-progress li{display:flex;gap:7px;flex-wrap:wrap;line-height:1.7}.booking-progress li[aria-current]{color:#111;font-weight:600}.booking-progress li[aria-current]:after{content:'';display:block;width:28px;height:2px;background:var(--champagne);flex-basis:28px}.booking-step>.eyebrow{color:var(--muted);font-size:9px}.booking-step h2,.booking-success h2{font-size:36px;margin:17px 0 15px;letter-spacing:-.035em}.step-copy{font-size:12px;color:#716c64;margin-bottom:25px}.package-options{border:0;padding:0;margin:0}.booking-package{display:flex;align-items:center;gap:15px;border:1px solid #ded8ce;border-radius:var(--media-radius);padding:22px 18px;margin-top:14px;cursor:pointer}.booking-package:has(input:checked){border-color:#a18c66;background:#f5f0e7}.booking-package input{width:18px;height:18px;accent-color:#675638;flex-shrink:0}.booking-package>span:nth-child(2){flex:1;min-width:0}.booking-package strong{display:block;font:24px Georgia,serif}.booking-package small{display:block;font-size:10px;color:#716c64;line-height:1.7;margin-top:8px}.booking-package-price{font:23px Georgia,serif}.booking-actions{display:flex;gap:13px;justify-content:space-between;margin-top:30px;border-top:1px solid #e3ddd3;padding-top:24px}.booking-actions>.champagne{margin-left:auto}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-fields label{font-size:11px;display:block}.booking-fields label>span{color:var(--muted)}.booking-fields input,.booking-fields textarea{display:block;width:100%;margin-top:8px;border:1px solid #d8d2c8;border-radius:var(--input-radius);min-height:46px;padding:12px;font:14px Arial,sans-serif;background:#fff;color:var(--ink)}.booking-fields textarea{resize:vertical}.booking-fields .wide{grid-column:1/-1}.booking-fields input:focus-visible,.booking-fields textarea:focus-visible{outline:2px solid #a38c63;outline-offset:3px}.privacy-note{padding:20px;background:#f5f2ec;border-radius:var(--input-radius);margin-top:25px;font-size:11px}.privacy-note>p{margin-top:9px;color:#716c64}.consent-label{display:flex;gap:12px;margin-top:23px;font-size:11px;line-height:1.8;align-items:start;cursor:pointer}.consent-label input{width:19px;height:19px;flex-shrink:0;margin-top:2px;accent-color:#675638}.bot-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-calendar{border:1px solid #ded8ce;border-radius:var(--media-radius);padding:18px;margin-bottom:20px}.month-nav{display:flex;justify-content:space-between;align-items:center;gap:15px}.month-nav h3{font:24px Georgia,serif;margin:0;text-transform:capitalize}.month-nav button{min-width:44px;min-height:44px;border:1px solid #ded8ce;border-radius:var(--cell-radius);background:none;color:var(--ink)}.month-nav button:disabled{opacity:.3;cursor:default}.weekday-row,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekday-row{font-size:9px;color:#716c64;text-align:center;margin:22px 0 10px}.calendar-date{min-height:48px;min-width:0;padding:5px 0;border:1px solid #e0dace;border-radius:var(--cell-radius);background:#fff;font-size:13px;color:#222}.calendar-date>span{display:block;font-size:9px;line-height:1.2;margin-top:3px}.calendar-date:disabled{background:#efeeeb;color:#8c857a;cursor:default}.calendar-date.today{border:2px solid #a88f63}.calendar-date.state-pending{background:#f6f0e4}.calendar-date[aria-pressed=true]{border:2px solid #222;background:var(--champagne);color:#111}.calendar-date[aria-pressed=true]>span:after{content:' ✓'}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 15px;font-size:10px;margin-bottom:14px;color:#6e6556}.booking-calendar #calendar-status{margin-top:17px;min-height:34px}.selection-note{font-size:12px;border-top:1px solid #e3ddd3;padding-top:18px;margin-top:20px}.booking-error{padding:16px 18px;border:1px solid #ad6d56;background:#fcf0e9;border-radius:var(--input-radius);font-size:12px;color:#733c29;margin-top:23px}.booking-review>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid #e7e1d7;font-size:12px}.booking-review dt{color:#716c64}.booking-review dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.booking-panel .mode-note{font-size:11px}.booking-panel .mode-note p{font-size:11px}.booking-success .reference-label{font-size:9px;letter-spacing:.15em;color:#716c64;margin-top:30px}.booking-reference{font:32px Georgia,serif;margin:10px 0 18px}.booking-success>p:not(.eyebrow):not(.reference-label):not(.booking-reference){font-size:13px;line-height:1.9;margin-top:23px}.booking-success>.button{margin-top:30px}.booking-step .small,.booking-success .small{font-size:10px}@media(max-width:1050px){.booking-layout{grid-template-columns:1fr;gap:40px;max-width:800px;padding-top:45px}.booking-intro{position:static}.booking-intro h1{font-size:48px}.booking-assurance{display:none}.booking-intro .text-button{margin-top:20px}}@media(max-width:760px){.booking-layout{padding:35px 5% 65px;gap:30px}.booking-intro{padding-top:0}.booking-intro h1{font-size:40px}.booking-intro>p:not(.eyebrow){font-size:12px}.booking-panel{padding:24px 17px}.booking-progress{gap:6px;font-size:9px;margin-bottom:25px}.booking-progress li{gap:5px}.booking-step h2,.booking-success h2{font-size:31px}.booking-package{padding:19px 13px;gap:11px}.booking-package strong{font-size:23px}.booking-package-price{font-size:22px}.booking-package small{font-size:9px}.booking-calendar{padding:10px}.weekday-row,.calendar-days{gap:2px}.calendar-date{min-height:44px}.month-nav h3{font-size:23px}.booking-fields{grid-template-columns:1fr}.booking-fields .wide{grid-column:auto}.booking-fields input,.booking-fields textarea{font-size:16px}.booking-review>div{grid-template-columns:100px 1fr;gap:15px;font-size:11px}.booking-actions .button{font-size:11px;padding:13px 17px}.booking-reference{font-size:29px}}
@media(max-width:400px){.booking-layout{padding-left:8px;padding-right:8px}.booking-panel{padding-left:8px;padding-right:8px}.booking-calendar{padding:4px}.calendar-days,.weekday-row{gap:1px}.calendar-date{min-width:44px}.booking-progress{font-size:8px}.booking-package{padding:17px 10px}}@media(max-width:350px){.booking-calendar{overflow-x:auto}.calendar-days,.weekday-row{min-width:314px}}

.booking-date-section{border-top:1px solid #ded8ce;margin-top:30px;padding-top:28px}.booking-date-section>h3{font:27px Georgia,serif;margin:0 0 12px}.booking-extra{border-top:1px solid #ded8ce;padding-top:10px}.booking-extra summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:12px}.booking-extra label{margin-top:12px}.booking-progress li{white-space:normal}@media(max-width:760px){.booking-actions{padding-right:65px;flex-wrap:wrap}.booking-progress li{flex-direction:column;align-items:flex-start}.booking-layout{padding-bottom:110px}}

.booking-terms-link{font-size:12px;line-height:1.8;margin-top:24px;color:#625d55}

.booking-date-section{border:0;margin:0 0 28px;padding:0}.booking-date-section>h3{font-size:23px}.selected-package-summary{padding:22px;background:#f5f0e7;border:1px solid #c6b69a;border-radius:16px;margin:18px 0}.selected-package-summary h3{font:26px Georgia,serif;margin:0}.selected-package-price{font:30px Georgia,serif;margin:12px 0}.selected-package-summary ul{padding-left:18px;font-size:12px;line-height:1.9;color:#625d55}.booking-addons{border-top:1px solid #ded8ce;margin-top:24px;padding-top:2px}.booking-addons details{font-size:12px;line-height:1.8;margin:15px 0}.booking-addons summary{cursor:pointer;padding:8px 0;min-height:44px}.booking-addons details p{color:#625d55}.booking-addon-total{font-size:14px;font-weight:600}.booking-intro .booking-assurance{display:none}.booking-intro h1{font-size:42px}.booking-intro .text-button{display:none}@media(max-width:760px){.booking-layout{padding-top:22px;gap:22px}.booking-intro h1{font-size:29px;margin:12px 0}.booking-intro h1 br{display:none}.booking-intro>.eyebrow{font-size:9px}.booking-intro>p:not(.eyebrow){line-height:1.6}.booking-step h2{font-size:27px}.booking-panel{padding-top:20px}.booking-step>.step-copy{margin-bottom:16px}.calendar-legend{line-height:1.7}.booking-actions{padding-right:0}.booking-package{flex-wrap:wrap}.booking-package-price{margin-left:30px}.booking-progress{margin-bottom:20px}.booking-fields label{font-size:12px}.booking-package strong{font-size:21px}.selected-package-summary h3{font-size:24px}}

.booking-extra-hours{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;margin-top:22px}.booking-extra-hours input{width:78px;min-height:44px;padding:10px;border:1px solid #c6b69a;border-radius:8px;font-size:16px;background:white}
