.booking .bk-page{padding-top:var(--space-3);padding-bottom:var(--space-4);}
.booking .bk-page :where(section){padding:0;}
.booking .bk-page :where(p){margin:0;}
.booking .bk-page a{color:var(--bronze-deep);text-decoration:underline;text-decoration-color:var(--bronze);text-decoration-thickness:1px;text-underline-offset:0.2em;}
.booking .bk-page a:hover{text-decoration-color:var(--bronze-deep);}
.booking .bk-page .hp{position:absolute !important;width:1px !important;height:1px !important;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
.booking .bk-page :where(fieldset){border:0;margin:0;padding:0;min-width:0;}
.booking .bk-page :where(legend){padding:0;margin:0;float:none;width:auto;letter-spacing:0;text-transform:none;}
.booking .bk-page *:focus-visible{outline:2px solid var(--bronze-deep);outline-offset:3px;}
.booking .bk-steps{list-style:none;display:flex;flex-wrap:wrap;gap:0.4rem 1.6rem;font-size:12.5px;color:var(--muted);margin:0 0 var(--space-3);}
.booking .bk-steps li{display:flex;align-items:baseline;gap:0.45rem;}
.booking .bk-steps .bk-n{font-family:var(--font-display);font-size:13px;color:var(--muted);}
.booking .bk-steps li[aria-current]{color:var(--ink);}
.booking .bk-steps li[aria-current] .bk-n{color:var(--bronze-deep);}
.booking .bk-page h1{font:400 clamp(2.1rem,5.2vw,2.9rem)/1.12 var(--font-display);letter-spacing:-0.005em;color:var(--ink);}
.booking .bk-page .intro{font-size:16px;line-height:1.65;color:var(--ink-soft);margin-top:var(--space-2);max-width:33rem;}
.booking .bk-page h2{font:400 1.45rem/1.25 var(--font-display);color:var(--ink);}
.booking .bk-page .zones{margin-top:var(--space-3);font-size:13px;color:var(--muted);}
.booking .bk-page .zones summary{list-style:none;cursor:pointer;display:inline;text-decoration:none;}
.booking .bk-page .zones summary::-webkit-details-marker{display:none;}
.booking .bk-page .zones .zone-change{color:var(--bronze-deep);text-decoration:underline;text-decoration-color:var(--bronze);text-decoration-thickness:1px;text-underline-offset:0.2em;}
.booking .bk-page .zones .zone-confirm{color:var(--ink);}
.booking .bk-page .zone-list{display:block;list-style:none;margin-top:var(--space-2);columns:2 15rem;column-gap:2rem;}
.booking .bk-page .zone-list li{break-inside:avoid;padding:0.2rem 0;}
.booking .bk-page .zone-list a{color:var(--ink-soft);text-decoration:none;}
.booking .bk-page .zone-list a:hover{color:var(--bronze-deep);}
.booking .bk-page .zone-list a[aria-current]{color:var(--ink);}
.booking .bk-page .zone-list a[aria-current]::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--bronze);margin:0 0.5rem 0.15em -0.9rem;}
.booking .bk-page .zone-all{margin-top:var(--space-1);}
.booking .bk-r{position:absolute;opacity:0;width:1px;height:1px;margin:0;}
.booking .bk-times{list-style:none;display:flex;flex-wrap:wrap;gap:0.1rem 2.2rem;}
.booking .bk-times label{margin:0;display:inline-flex;flex-direction:column;min-width:3.4rem;min-height:2.75rem;justify-content:center;padding:0.35rem 0;cursor:pointer;}
.booking .bk-t{font:400 1.35rem/1.2 var(--font-display);font-variant-numeric:lining-nums tabular-nums;color:var(--ink);transition:color 0.2s;}
.booking .bk-m{font-size:11px;letter-spacing:0.02em;color:var(--muted);margin-top:0.15rem;}
.booking .bk-times label:hover .bk-t{color:var(--bronze-deep);}
.booking .bk-r:checked + label .bk-t{color:var(--bronze-deep);text-decoration:underline;text-decoration-color:var(--bronze);text-decoration-thickness:1px;text-underline-offset:0.28em;}
.booking .bk-r:focus-visible + label{outline:2px solid var(--bronze-deep);outline-offset:4px;}
.booking .bk-state{font-family:var(--font-display);font-style:italic;color:var(--muted);}
.booking .bk-more-link{margin-top:var(--space-3);font-size:14px;}
.booking .bk-screening{font-size:13.5px;line-height:1.6;color:var(--ink-soft);margin-top:var(--space-2);}
.booking .bk-optout{font-size:13px;color:var(--muted);margin-top:0.35rem;}
.booking .bk-optout a{color:var(--muted);text-decoration-color:var(--muted);}
.booking .bk-field{margin-top:var(--space-3);}
.booking .bk-page .bk-field label,.booking .bk-page .bk-services legend{display:block;letter-spacing:0;text-transform:none;margin:0;font-size:13px;font-weight:500;color:var(--ink-soft);}
.booking .bk-page .bk-field input,.booking .bk-page .bk-field textarea{display:block;width:100%;font:400 16px/1.5 var(--font-body);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--muted);border-radius:0;padding:0.45rem 0 0.4rem;-webkit-appearance:none;appearance:none;}
.booking .bk-field textarea{resize:vertical;min-height:4.8rem;field-sizing:content;}
.booking .bk-page .bk-field input:focus,.booking .bk-page .bk-field textarea:focus{border-bottom:2px solid var(--bronze-deep);padding-bottom:calc(0.4rem - 1px);}
.booking .bk-services{margin-top:var(--space-3);}
.booking .bk-services ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:0.35rem 2rem;margin-top:0.6rem;}
.booking .bk-services li,.booking .bk-check{display:flex;align-items:flex-start;gap:0.65rem;}
.booking .bk-services input,.booking .bk-check input{flex:none;width:15px;height:15px;margin-top:0.3em;accent-color:var(--bronze-deep);}
.booking .bk-page .bk-services label,.booking .bk-page .bk-check label{display:inline;letter-spacing:0;text-transform:none;margin:0;font-weight:400;font-size:14.5px;line-height:1.5;color:var(--ink);cursor:pointer;}
.booking .bk-consent{margin-top:var(--space-3);font-size:13.5px;line-height:1.6;color:var(--ink-soft);}
.booking .bk-consent .bk-check{margin-top:0.75rem;}
.booking .bk-consent .bk-check label{font-size:14px;}
.booking .bk-submit{margin-top:var(--space-3);}
.booking .bk-btn{margin:0;-webkit-appearance:none;appearance:none;border:0;border-radius:0;background:var(--ink);color:var(--paper);font:500 11.5px/1 var(--font-body);letter-spacing:0.14em;text-transform:uppercase;padding:1.15rem 2.6rem;cursor:pointer;transition:background 0.2s;}
.booking .bk-btn:hover{background:var(--bronze-deep);}
.booking .bk-notice{margin-top:var(--space-2);font-size:15px;color:var(--ink);border-left:1px solid var(--bronze);padding-left:var(--space-2);}
.booking .bk-page h1:has(+ .bk-sub){font-size:clamp(1.65rem,4.4vw,2.4rem);line-height:1.18;}
.booking .bk-sub{font-size:15px;color:var(--ink-soft);margin-top:var(--space-1);}
.booking .bk-page .booking-alt{margin-top:var(--space-5);font-size:13px;color:var(--muted);}
.booking .bk-page .booking-alt p{margin-top:0.3rem;}
.booking .bk-page .booking-alt .alt{font-size:13px;color:var(--muted);}
.booking .bk-page .booking-alt p:not(.alt){margin-top:var(--space-2);font-size:14px;color:var(--ink-soft);}
.booking .bk-page .bk-q{margin-top:var(--space-4);}
.booking .bk-page .bk-q > legend{width:100%;}
.booking .bk-page .bk-q h2{font:400 1.6rem/1.2 var(--font-display);}
.booking .bk-page .bk-q-when .bk-days{margin-top:var(--space-2);}
.booking .bk-page .bk-day{margin-top:var(--space-2);}
.booking .bk-page .bk-day legend{font-size:12.5px;font-weight:500;letter-spacing:0.02em;color:var(--ink-soft);}
.booking .bk-page .bk-full legend{color:var(--muted);}
.booking .bk-page .bk-full .bk-state{font-size:15px;}
.booking .bk-page .bk-q-who .bk-field:first-of-type{margin-top:var(--space-2);}
.booking .bk-page .bk-change{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0 0 0 0.75rem;font:400 13px/1.4 var(--font-body);letter-spacing:0;text-transform:none;color:var(--bronze-deep);text-decoration:underline;text-decoration-color:var(--bronze);text-decoration-thickness:1px;text-underline-offset:0.2em;cursor:pointer;}
.booking .bk-page .bk-q-when:has(#bk-reopen:focus-visible) .bk-change{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;display:inline;}
.booking .bk-page #bk-reopen:focus-visible + .bk-change{outline:2px solid var(--bronze-deep);outline-offset:3px;}
.booking .bk-page .bk-done .bk-change{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;display:inline;}
.booking .bk-page .bk-q-when .bk-optout{margin-top:var(--space-3);}
.booking .bk-page .bk-done .bk-optout{margin-top:var(--space-2);}
.booking .bk-page .bk-q-who .bk-consent{margin-top:var(--space-3);}
.booking .bk-page .bk-q-who .bk-screening{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--rule);font-size:13.5px;color:var(--ink-soft);}
.booking .bk-page .bk-q-who .bk-submit{margin-top:var(--space-2);}
.booking .bk-page .bk-done{margin-top:var(--space-3);}
.booking .bk-page .bk-summary{font:400 1.2rem/1.4 var(--font-display);color:var(--ink);}
.booking .bk-page .bk-summary a{font:400 13px/1 var(--font-body);margin-left:0.6rem;}
.booking .bk-page .bk-q h2.bk-fold-h{font:400 12.5px/1.4 var(--font-body);color:var(--muted);margin-bottom:0.2rem;}
.booking .bk-page .bk-done .bk-sub{font-size:13.5px;margin-top:0.2rem;}
@media (max-width:40rem){.booking .bk-btn{width:100%;}
.booking .bk-times{gap:0.1rem 1.7rem;}
}
@supports selector(:has(*)){.booking .bk-days:has(:checked) .bk-r:not(:checked) + label .bk-t{color:var(--muted);}
}
@media (prefers-reduced-motion:no-preference){.booking .bk-page [data-bk="doorway"] .bk-q-who{animation:bk-in 0.18s ease-out both !important;}
@keyframes bk-in{from{opacity:0;}
}
}
@media (prefers-reduced-motion:reduce){.booking .bk-page *,.booking .bk-page *::before,.booking .bk-page *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}
@supports selector(:has(*)){.booking .bk-page .bk-q-when:not(:has(input[name="slot"]:checked)) :is(#bk-reopen,#bk-reopen+.bk-change){visibility:hidden;}
.booking .bk-page [data-bk="doorway"]:not(:has(input[name="slot"]:checked)) .bk-q-who{display:none;}
.booking .bk-page .bk-q-when:has(input[name="slot"]:checked):not(:focus-within):not(:has(#bk-reopen:checked)) :is(.bk-day:not(:has(:checked)),.bk-times li:not(:has(:checked)),.bk-more-link,.pages){display:none;}
.booking .bk-page .bk-q-when:has(input[name="slot"]:checked):not(:focus-within):not(:has(#bk-reopen:checked)) h2{font:400 12.5px/1.4 var(--font-body);color:var(--muted);}
.booking .bk-page .bk-q-when:has(input[name="slot"]:checked):not(:focus-within):not(:has(#bk-reopen:checked)) .bk-days{display:inline;margin:0;}
.booking .bk-page .bk-q-when:has(input[name="slot"]:checked):not(:focus-within):not(:has(#bk-reopen:checked)) .bk-change{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;display:inline;}
.booking .bk-page .bk-q-when:has(input[name="slot"]:checked):not(:focus-within):not(:has(#bk-reopen:checked)) .bk-optout{margin-top:var(--space-2);}
.booking .bk-page .bk-q-when:has(input[name="slot"]:checked):not(:focus-within):not(:has(#bk-reopen:checked)) .bk-day{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 0.5rem;margin:0.2rem 0 0;}
.booking .bk-page .bk-q-when:has(input[name="slot"]:checked):not(:focus-within):not(:has(#bk-reopen:checked)) .bk-day legend{float:left;width:auto;font:400 1.2rem/1.4 var(--font-display);letter-spacing:0;color:var(--ink);}
.booking .bk-page .bk-q-when:has(input[name="slot"]:checked):not(:focus-within):not(:has(#bk-reopen:checked)) .bk-day legend::after{content:",";}
.booking .bk-page .bk-q-when:has(input[name="slot"]:checked):not(:focus-within):not(:has(#bk-reopen:checked)) .bk-times label{flex-direction:row;align-items:baseline;gap:0.6rem;min-height:0;padding:0;}
.booking .bk-page .bk-q-when:has(input[name="slot"]:checked):not(:focus-within):not(:has(#bk-reopen:checked)) .bk-r:checked + label .bk-t{font-size:1.2rem;text-decoration:none;color:var(--ink);}
}
