.booking-host{font-family:var(--booking-font,system-ui,sans-serif);color:var(--booking-text,CanvasText);&,*{box-sizing:border-box}input,textarea{min-width:0;max-width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:14px 22px;font:inherit;text-decoration:none;cursor:pointer}.button-primary{border:1px solid var(--booking-primary,Highlight);background:var(--booking-primary,Highlight);color:var(--booking-surface,Canvas)}.booking-card{min-height:680px;padding:clamp(28px,4.2vw,52px);background:var(--booking-background,Canvas);border:1px solid var(--booking-card-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));box-shadow:0 24px 60px var(--booking-shadow,color-mix(in srgb,var(--booking-text,CanvasText) 6%,transparent))}.booking-progress{display:grid;grid-template-columns:repeat(5,1fr);margin:0 0 clamp(42px,5vw,64px);padding:0;list-style:none}.booking-progress li{position:relative;display:grid;justify-items:center;gap:7px;color:var(--booking-progress-muted,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent))}.booking-progress li:before{position:absolute;z-index:0;top:15px;right:50%;width:100%;height:1px;background:var(--booking-progress-line,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));content:""}.booking-progress li:first-child:before{display:none}.booking-progress span{position:relative;z-index:1;display:grid;width:31px;height:31px;place-items:center;border:1px solid var(--booking-progress-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));border-radius:50%;background:var(--booking-background,Canvas);font-size:11px;font-weight:600}.booking-progress small{font-size:10px;font-weight:600;letter-spacing:.06em}.booking-progress li.is-active,.booking-progress li.is-complete{color:var(--booking-primary,Highlight)}.booking-progress li.is-active span{border-color:var(--booking-primary,Highlight);background:var(--booking-primary,Highlight);color:var(--booking-surface,Canvas)}.booking-progress li.is-complete span{border-color:var(--booking-complete-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));background:var(--booking-complete-background,color-mix(in srgb,var(--booking-primary,Highlight) 7%,var(--booking-background,Canvas)))}.booking-progress li.is-active:before,.booking-progress li.is-complete:before{background:var(--booking-complete-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)))}.booking-step h2,.booking-success h2{margin:0 0 13px;font:400 clamp(34px,3.5vw,46px) /1.08 var(--booking-heading-font,Georgia,serif);letter-spacing:-.04em}.step-count{margin-bottom:12px;color:var(--booking-eyebrow,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent));font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.step-description{max-width:530px;margin-bottom:34px;color:var(--booking-description,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent));font-size:14px}.type-options{display:grid;gap:13px}.type-option{display:grid;grid-template-columns:1fr 34px;gap:24px;width:100%;padding:22px 23px;border:1px solid var(--booking-option-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));border-radius:2px;background:transparent;color:var(--booking-text,CanvasText);cursor:pointer;text-align:left;transition:border-color .2s ease,background .2s ease,transform .2s ease}.type-option:hover{border-color:var(--booking-hover-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));transform:translateY(-1px)}.type-option:has(input:checked),.type-option[aria-checked=true]{border-color:var(--booking-primary,Highlight);background:var(--booking-selected-background,color-mix(in srgb,var(--booking-primary,Highlight) 7%,var(--booking-background,Canvas)))}.type-option strong{display:block;margin-bottom:5px;font:500 23px/1.25 var(--booking-heading-font,Georgia,serif)}.type-option small{color:var(--booking-option-description,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent));font:400 13px/1.55 var(--booking-font,system-ui,sans-serif)}.type-option i{display:grid;width:25px;height:25px;place-items:center;align-self:center;border:1px solid var(--booking-radio-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));border-radius:50%;font-style:normal}.type-option[aria-checked=true] i{border-color:var(--booking-primary,Highlight);background:var(--booking-primary,Highlight);color:var(--booking-surface,Canvas)}.field{display:grid;gap:8px}.field>span{color:var(--booking-label,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent));font-size:12px;font-weight:600}.field>span small{color:var(--booking-optional,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent));font-weight:400}.field input,.field textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--booking-input-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));border-radius:2px;outline:none;background:var(--booking-surface,Canvas);color:var(--booking-text,CanvasText);font:400 15px/1.5 var(--booking-font,system-ui,sans-serif);transition:border-color .2s ease,box-shadow .2s ease}.field textarea{min-height:98px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--booking-primary,Highlight);box-shadow:0 0 0 3px var(--booking-focus-ring,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent))}.field-date{max-width:350px}.field-hint{margin:11px 0 0;color:var(--booking-hint,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent));font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field-wide{grid-column:1/-1}.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.slot-button{min-height:48px;border:1px solid var(--booking-slot-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));border-radius:2px;background:var(--booking-surface,Canvas);color:var(--booking-text,CanvasText);cursor:pointer;font:600 14px var(--booking-font,system-ui,sans-serif);transition:border-color .2s ease,background .2s ease}.slot-button:hover{border-color:var(--booking-primary,Highlight)}.slot-button[aria-checked=true],.slot-button[aria-pressed=true]{border-color:var(--booking-primary,Highlight);background:var(--booking-primary,Highlight);color:var(--booking-surface,Canvas)}.booking-loading,.slot-loading{display:grid;min-height:180px;place-items:center;align-content:center;gap:13px;color:var(--booking-loading,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent));font-size:13px}.booking-loading p,.slot-loading p{margin:0}.loading-spinner{width:25px;height:25px;border:2px solid var(--booking-spinner,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));border-top-color:var(--booking-primary,Highlight);border-radius:50%;animation:booking-spin .75s linear infinite}.slot-empty{padding:30px;border:1px dashed var(--booking-secondary-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));text-align:center}.slot-empty p{margin-bottom:13px;color:var(--booking-muted,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent))}.slot-empty button{border-top:0;border-right:0;border-left:0;background:transparent;color:var(--booking-text,CanvasText);cursor:pointer}.step-actions{display:flex;justify-content:space-between;gap:14px;margin-top:42px;padding-top:24px;border-top:1px solid var(--booking-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)))}.step-actions-end{justify-content:flex-end}.button-secondary{border:1px solid var(--booking-secondary-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));background:transparent;color:var(--booking-text,CanvasText);cursor:pointer}.button-secondary:hover{border-color:var(--booking-text,CanvasText)}.button:disabled{cursor:not-allowed;opacity:.45;transform:none}.booking-summary{margin:30px 0 0;border-top:1px solid var(--booking-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)))}.booking-summary>div{display:grid;grid-template-columns:145px 1fr;gap:24px;padding:15px 0;border-bottom:1px solid var(--booking-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)))}.booking-summary dt{color:var(--booking-summary-label,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent));font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.booking-summary dd{margin:0;font:400 17px/1.4 var(--booking-heading-font,Georgia,serif)}.privacy-note{margin:22px 0 0;padding:15px 17px;background:var(--booking-privacy-background,color-mix(in srgb,var(--booking-primary,Highlight) 7%,var(--booking-background,Canvas)));color:var(--booking-privacy-text,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent));font-size:11px;line-height:1.55}.booking-alert{margin:-18px 0 28px;padding:13px 15px;border-left:3px solid var(--booking-error-border,var(--booking-border,color-mix(in srgb,var(--booking-text,CanvasText) 20%,transparent)));background:var(--booking-error-background,color-mix(in srgb,var(--booking-primary,Highlight) 7%,var(--booking-background,Canvas)));color:var(--booking-error-text,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent));font-size:13px}.booking-success{padding-top:20px;text-align:center}.booking-success>p:not(.section-label){color:var(--booking-muted,color-mix(in srgb,var(--booking-text,CanvasText) 75%,transparent))}.success-mark{display:grid;width:58px;height:58px;margin:0 auto 26px;place-items:center;border-radius:50%;background:var(--booking-primary,Highlight);color:var(--booking-surface,Canvas);font:400 25px var(--booking-font,system-ui,sans-serif)}.booking-success .booking-summary{text-align:left}.success-actions{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:36px}.success-actions button{border-top:0;border-right:0;border-left:0;background:transparent;cursor:pointer}.booking-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){.loading-spinner{animation-duration:1.5s}}@media (max-width:620px){.booking-card{min-height:620px;padding:25px 20px 27px}.booking-progress{margin-bottom:39px}.booking-progress small{display:none}.booking-step h2,.booking-success h2{font-size:35px}.step-description{margin-bottom:27px}.type-option{padding:18px}.type-option strong{font-size:21px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.step-actions{align-items:stretch;flex-direction:column-reverse}.step-actions .button{width:100%}.booking-summary>div{grid-template-columns:105px 1fr;gap:15px}.success-actions{align-items:stretch;flex-direction:column}}}@keyframes booking-spin{to{transform:rotate(1turn)}}.booking-page{background:var(--ivory);padding:clamp(2.5rem,5vw,5rem) var(--page) clamp(4rem,7vw,7rem)}.booking-page-content,.booking-page-intro{max-width:1040px;margin-inline:auto}.booking-page-intro{margin-bottom:2.5rem}.booking-page-intro h1{font-size:clamp(3.25rem,6vw,6rem);line-height:.96;letter-spacing:-.04em;margin:1.4rem 0}.booking-page-intro p{color:#6b645e;max-width:600px;font-size:1rem}.booking-page-facts{display:flex;flex-wrap:wrap;gap:.7rem;font-size:.75rem;color:var(--plum)}.booking-page .booking-host{--booking-primary:var(--plum);--booking-background:var(--ivory-bright);--booking-surface:var(--ivory-bright);--booking-text:var(--charcoal);--booking-border:var(--line);--booking-font:var(--font-manrope),sans-serif;--booking-heading-font:var(--font-editorial);--booking-shadow:transparent}.booking-page .booking-card{min-height:480px;scroll-margin-top:100px}.booking-page .booking-host h2{font-family:var(--font-editorial);font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.025em}.booking-page .booking-host .button,.booking-page .booking-host .slot-button,.booking-page .booking-host .type-option,.booking-page .booking-host input,.booking-page .booking-host textarea{border-radius:4px}.booking-page .booking-host .button{font-size:.85rem}.booking-page-help{color:#6b645e;text-align:center;font-size:.85rem;margin:1.75rem 0 0}.booking-page-help a{color:var(--plum);text-decoration:underline;text-underline-offset:4px}@media (max-width:640px){.booking-page{padding-top:2rem}.booking-page .booking-card{padding:22px 16px;min-height:430px}.booking-page-intro{margin-bottom:1.75rem}}