.book-page .book-paths,.book-page .booking-group,.book-page .booking-appointment{scroll-margin-top:var(--booking-nav-height,165px)}
.book-paths .book-section-heading{align-self:start}
.booking-group{min-width:0;scroll-margin-top:190px}
.booking-group>summary{cursor:pointer;list-style:none}
.booking-group>summary::-webkit-details-marker{display:none}
.booking-group>summary::marker{content:''}
.booking-group>summary:focus-visible{outline:2px solid var(--book-ink);outline-offset:-5px}
.booking-group[open]>summary{background:var(--book-olive);color:var(--book-paper)}
.booking-group[open]>summary:focus-visible{outline-color:var(--book-paper)}
.book-collapse,.booking-group[open] .book-expand{display:none}
.booking-group[open] .book-collapse{display:inline}
.booking-group .book-path-arrow{grid-column:-2;grid-row:1;font-size:24px;font-variant-emoji:text}
.booking-accordion .booking-services{padding:8px clamp(34px,5.5vw,94px) 24px}
.booking-accordion .booking-service:first-child{padding-top:24px}
.booking-accordion .booking-service[aria-current="true"] .booking-service-action{border-bottom-width:2px}
.book-paths>.booking-price-note{grid-column:2;max-width:none;padding:0 clamp(34px,5.5vw,94px) 32px;margin:0;color:rgba(53,52,44,.8)}
@media(min-width:1025px){.booking-group>.book-path{grid-template-columns:28px minmax(0,1fr) 24px;gap:12px 18px}.booking-group .book-path-number{grid-column:1;grid-row:1}.booking-group .book-path-title{grid-column:2;grid-row:1;font-size:clamp(38px,4.4vw,68px);line-height:.95}.booking-group .book-path-detail{grid-column:2;grid-row:2;max-width:100%}.booking-group .book-path-arrow{grid-column:3}}
@media(max-width:1024px){.booking-accordion .booking-services{padding-right:46px;padding-left:46px}.book-paths>.booking-price-note{grid-column:1;padding-right:46px;padding-left:46px}}
@media(max-width:700px){.booking-accordion .booking-services{padding:0 22px 18px}.booking-group .book-path-title{grid-column:2;grid-row:1;font-size:clamp(36px,12vw,50px);line-height:.95}.booking-group .book-path-detail{grid-column:2;grid-row:2}.booking-group .book-path-arrow{grid-column:3}.book-paths>.booking-price-note{padding:0 22px 28px}}
.booking-services{display:grid;gap:0;min-width:0}
.booking-service{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;padding:24px 0;border-bottom:1px solid var(--book-line);color:inherit;text-decoration:none}
.booking-service:first-child{padding-top:0}.booking-service:last-child{border-bottom:0}
.booking-service-name{font:400 clamp(30px,3vw,44px)/1.05 'Instrument Serif',Georgia,serif}
.booking-service-price{font:500 13px/1.6 'DM Mono',monospace;white-space:nowrap}
.booking-service-copy{grid-column:1/-1;max-width:610px;font:400 13px/1.7 'DM Mono',monospace}
.booking-service-action{grid-column:1/-1;width:max-content;max-width:100%;font:500 11px/1.5 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:7px}
.booking-service:hover .booking-service-action{opacity:.65}.booking-service:focus-visible,.booking-change:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.booking-price-note{max-width:720px;font:400 11px/1.7 'DM Mono',monospace;margin:20px 0 0}
.booking-appointment{background:var(--book-olive);color:var(--book-paper);padding:32px clamp(16px,4vw,64px);scroll-margin-top:165px}
.booking-appointment[hidden]{display:none!important}
#appointment-heading:focus:not(:focus-visible){outline:none}
#appointment-heading:focus-visible{outline:1px solid var(--book-paper);outline-offset:6px}
.booking-appointment-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1200px;margin:0 auto 26px}
.booking-appointment h2{margin:12px 0 0;font:400 clamp(34px,4vw,58px)/1 'Instrument Serif',Georgia,serif;letter-spacing:-.025em}
.booking-change{flex-shrink:0;background:none;border:0;border-bottom:1px solid currentColor;color:inherit;padding:10px 0;font:500 10px/1.5 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.booking-frame-wrap{max-width:1200px;margin:auto;background:var(--book-paper);isolation:isolate;color:#35342c;border:1px solid rgba(246,241,231,.35)}
.booking-loading{font:400 11px/1.5 'DM Mono',monospace;padding:10px 16px;margin:0}
#beaux-booking-frame{display:block;width:100%;height:760px;height:clamp(520px,75svh,900px);border:0;background:#fff;color-scheme:light}
/* Cross-origin document styles are owned by Phorest. Multiplication turns
   its white pixels into our paper colour; dark text remains readable.
   This gently warms all rendered colours, including buttons and images. */
@supports(mix-blend-mode:multiply){#beaux-booking-frame{mix-blend-mode:multiply}}
@media(forced-colors:active){#beaux-booking-frame{mix-blend-mode:normal}}
.booking-support{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;max-width:1200px;margin:18px auto 0;font:400 10px/1.6 'DM Mono',monospace}
.booking-support a{color:inherit;text-underline-offset:4px}.booking-appointment button span,.booking-service-action span{font-variant-emoji:text}
@media(max-width:700px){.booking-service{column-gap:16px}.booking-service-name{font-size:32px}.booking-service-copy{font-size:12px}.booking-appointment{padding:24px 12px;scroll-margin-top:132px}.booking-appointment-heading{display:block;padding:0 10px;margin-bottom:20px}.booking-change{margin-top:18px}.booking-appointment h2{font-size:38px}#beaux-booking-frame{height:max(480px,calc(100svh - 145px))}.booking-support{padding:0 10px}.booking-service-action{font-size:10px}}

.booking-direct>.book-path:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
