@keyframes booking-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes booking-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes booking-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes booking-confirm-pop{0%{opacity:0;transform:scale(.85)}60%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes booking-glow-pulse{0%,to{opacity:.45}50%{opacity:.75}}.booking-flow{--booking-rail-w:15.5rem;--booking-dock-h:4.25rem;--booking-ease:cubic-bezier(0.22,1,0.36,1);overflow-x:clip;background:linear-gradient(180deg,color-mix(in srgb,var(--orah-mist) 70%,var(--orah-ivory)) 0,var(--orah-ivory) 42%,var(--orah-ivory) 100%)}.booking-step-enter{animation:booking-fade-in .4s var(--booking-ease) forwards}.booking-ambient{pointer-events:none;position:fixed;inset:0;z-index:0;overflow:hidden}.booking-ambient:after,.booking-ambient:before{content:"";position:absolute;border-radius:9999px;filter:blur(72px);animation:booking-glow-pulse 8s ease-in-out infinite}.booking-ambient:before{top:-8%;right:-12%;width:min(22rem,55vw);height:min(22rem,55vw);background:color-mix(in srgb,var(--orah-bronze) 22%,transparent)}.booking-ambient:after{bottom:12%;left:-18%;width:min(18rem,48vw);height:min(18rem,48vw);background:color-mix(in srgb,var(--orah-sage) 16%,transparent);animation-delay:2.5s}.booking-home-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:500;color:var(--orah-charcoal-soft);transition:color .2s var(--booking-ease)}.booking-home-link:hover{color:var(--orah-charcoal)}.booking-icon-badge{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:.75rem;border:1px solid color-mix(in srgb,var(--orah-border) 80%,transparent);background:var(--orah-ivory);color:var(--orah-bronze);box-shadow:0 1px 0 color-mix(in srgb,var(--orah-charcoal) 5%,transparent)}.booking-icon-badge svg{display:block;flex-shrink:0;pointer-events:none}.booking-icon-badge--xs{width:1.75rem;height:1.75rem;border-radius:.5rem}.booking-icon-badge--xs svg{width:.9375rem;height:.9375rem}.booking-icon-badge--sm{width:2.25rem;height:2.25rem;border-radius:.625rem}.booking-icon-badge--sm svg{width:1.0625rem;height:1.0625rem}.booking-icon-badge--md{width:2.875rem;height:2.875rem;border-radius:.75rem}.booking-icon-badge--md svg{width:1.25rem;height:1.25rem}.booking-icon-badge--lg{width:3.375rem;height:3.375rem;border-radius:.875rem}.booking-icon-badge--lg svg{width:1.5rem;height:1.5rem}.booking-icon-badge--bronze{background:color-mix(in srgb,var(--orah-bronze) 12%,var(--orah-ivory));color:color-mix(in srgb,var(--orah-bronze) 90%,var(--orah-charcoal));border-color:color-mix(in srgb,var(--orah-bronze) 28%,var(--orah-border))}.booking-icon-badge--sage{background:color-mix(in srgb,var(--orah-sage) 14%,var(--orah-ivory));color:color-mix(in srgb,var(--orah-sage) 85%,var(--orah-charcoal));border-color:color-mix(in srgb,var(--orah-sage) 25%,var(--orah-border))}.booking-icon-badge--mist{background:color-mix(in srgb,var(--orah-mist) 80%,var(--orah-ivory));color:var(--orah-charcoal-soft)}.booking-icon-badge--charcoal{background:var(--orah-charcoal);color:var(--orah-ivory);border-color:var(--orah-charcoal)}.booking-shell{position:relative;z-index:1;margin-inline:auto;width:100%;max-width:72rem;padding:.75rem .875rem 1.25rem}@media (min-width:640px){.booking-shell{padding:1.25rem 1.5rem 2rem}}@media (min-width:1024px){.booking-shell{padding:1.5rem 2rem 2.5rem}}.booking-shell--dock{padding-bottom:calc(var(--booking-dock-h) + 1.75rem + env(safe-area-inset-bottom, 0px))}@media (min-width:1024px){.booking-shell--dock{padding-bottom:2.5rem}}.booking-shell-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}@media (min-width:1024px){.booking-shell-header{margin-bottom:1.25rem}}.booking-step-strip{display:flex;gap:.5rem;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:.25rem;margin-bottom:1rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.booking-step-strip::-webkit-scrollbar{display:none}.booking-mobile-progress{display:block;margin-bottom:1rem;padding:.875rem 1rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--orah-border) 85%,transparent);background:color-mix(in srgb,var(--orah-ivory) 92%,white);box-shadow:var(--orah-shadow-md)}.booking-mobile-progress-head{display:flex;align-items:center;gap:.875rem;margin-bottom:.625rem}.booking-mobile-progress-head .booking-icon-badge{flex-shrink:0}.booking-mobile-progress-track{height:.35rem;overflow:hidden;border-radius:9999px;background:var(--orah-mist)}.booking-mobile-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--orah-bronze-light),var(--orah-bronze),var(--orah-charcoal));background-size:200% 100%;animation:booking-shimmer 4s linear infinite;transition:width .5s var(--booking-ease)}.booking-mobile-progress-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;font-size:.75rem;line-height:1.35;color:var(--orah-charcoal-soft)}.booking-mobile-progress-step{font-weight:600;letter-spacing:.02em;color:var(--orah-charcoal);font-variant-numeric:tabular-nums}.booking-mobile-progress-label{font-weight:500;color:var(--orah-bronze)}@media (min-width:640px){.booking-mobile-progress{display:none}}@media (max-width:639px){.booking-step-strip{display:none}}@media (min-width:1024px){.booking-step-strip{display:none}}.booking-step-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;max-width:11rem;padding:.4rem .75rem;border-radius:9999px;border:1px solid var(--orah-border);background:color-mix(in srgb,var(--orah-ivory) 90%,transparent);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--orah-charcoal-soft);white-space:nowrap}.booking-step-pill[data-active=true]{border-color:color-mix(in srgb,var(--orah-bronze) 45%,var(--orah-border));background:color-mix(in srgb,var(--orah-bronze) 12%,var(--orah-ivory));color:var(--orah-charcoal)}.booking-step-pill[data-done=true]:not([data-active=true]){color:var(--orah-bronze)}.booking-step-pill-icon{display:inline-flex;width:1.5rem;height:1.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background:var(--orah-mist);color:var(--orah-charcoal-soft)}.booking-step-pill-icon svg{width:.875rem;height:.875rem}.booking-step-pill[data-active=true] .booking-step-pill-icon{background:var(--orah-charcoal);color:var(--orah-ivory)}.booking-step-pill[data-done=true] .booking-step-pill-icon{background:color-mix(in srgb,var(--orah-bronze) 18%,var(--orah-ivory));color:var(--orah-bronze)}.booking-step-pill-label{overflow:hidden;text-overflow:ellipsis}.booking-layout{display:flex;flex-direction:column;gap:1rem;min-width:0}@media (min-width:1024px){.booking-layout{flex-direction:row;align-items:flex-start;gap:1.5rem}}.booking-rail{display:none}@media (min-width:1024px){.booking-rail{display:flex;flex-direction:column;gap:1rem;width:var(--booking-rail-w);flex-shrink:0;position:sticky;top:1.25rem}}.booking-content-card,.booking-rail-card{border-radius:1.125rem;border:1px solid color-mix(in srgb,var(--orah-border) 90%,transparent);background:color-mix(in srgb,var(--orah-ivory) 96%,white);box-shadow:var(--orah-shadow-md),0 0 0 1px color-mix(in srgb,white 40%,transparent) inset}.booking-content-card{backdrop-filter:blur(8px)}.booking-rail-card{padding:1.125rem 1rem}.booking-rail-brand{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem}.booking-rail-brand .booking-icon-badge{flex-shrink:0}.booking-rail-title{font-size:.625rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--orah-bronze)}.booking-rail-current{display:flex;align-items:flex-start;gap:.875rem}.booking-rail-current .booking-icon-badge{flex-shrink:0;margin-top:.125rem}.booking-rail-current>div{min-width:0;flex:1}.booking-rail-step-title{font-family:var(--font-serif,Georgia,serif);font-size:1.25rem;line-height:1.2;color:var(--orah-charcoal)}.booking-rail-step-meta{margin-top:.2rem;font-size:.6875rem;color:var(--orah-charcoal-soft);font-variant-numeric:tabular-nums}.booking-rail-progress{margin-top:1rem;height:.375rem;overflow:hidden;border-radius:9999px;background:var(--orah-mist)}.booking-rail-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--orah-bronze-light),var(--orah-charcoal));transition:width .5s var(--booking-ease)}.booking-rail-steps{margin:1rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.booking-rail-step{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--orah-charcoal-soft);transition:color .2s var(--booking-ease)}.booking-rail-step[data-active=true]{font-weight:600;color:var(--orah-charcoal)}.booking-rail-step[data-done=true]{color:var(--orah-bronze)}.booking-rail-step-icon{display:inline-flex;width:1.625rem;height:1.625rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.5rem;background:var(--orah-mist);color:var(--orah-charcoal-soft)}.booking-rail-step-icon svg{width:.9375rem;height:.9375rem}.booking-rail-step[data-active=true] .booking-rail-step-icon{background:var(--orah-charcoal);color:var(--orah-ivory);box-shadow:0 0 0 3px color-mix(in srgb,var(--orah-bronze) 22%,transparent)}.booking-rail-step[data-done=true] .booking-rail-step-icon{background:color-mix(in srgb,var(--orah-bronze) 15%,var(--orah-ivory));color:var(--orah-bronze)}.booking-total-card{padding:1rem}.booking-total-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.booking-total-label{font-size:.625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orah-charcoal-soft)}.booking-total-value{margin-top:.25rem;font-family:var(--font-serif,Georgia,serif);font-size:1.75rem;line-height:1.1;color:var(--orah-charcoal);font-variant-numeric:tabular-nums}.booking-total-hint{margin-top:.35rem;font-size:.6875rem;line-height:1.4;color:var(--orah-charcoal-soft)}.booking-main{min-width:0;flex:1}.booking-content-card{padding:1rem .875rem 1.125rem;border-radius:1rem}@media (min-width:640px){.booking-content-card{padding:1.375rem 1.25rem 1.5rem;border-radius:1.125rem}}@media (min-width:1024px){.booking-content-card{padding:1.5rem 1.75rem 1.75rem}}.booking-step{display:flex;flex-direction:column;gap:1.375rem;min-width:0}.booking-step>*{min-width:0}.booking-step-head{display:flex;flex-direction:column;gap:.5rem}.booking-step-back{margin-bottom:.125rem}.booking-step-head-row{display:flex;align-items:flex-start;gap:1rem}.booking-step-head-row .booking-icon-badge{flex-shrink:0;margin-top:.125rem}.booking-step-head-copy{min-width:0;flex:1;padding-top:.0625rem}.booking-step-title{font-family:var(--font-serif,Georgia,serif);font-size:clamp(1.2rem,4vw,1.65rem);line-height:1.2;letter-spacing:-.02em;color:var(--orah-charcoal);text-wrap:balance}.booking-step-desc{max-width:40rem;font-size:.875rem;line-height:1.55;color:var(--orah-charcoal-soft);text-wrap:pretty}.booking-panel{border-radius:.875rem;border:1px solid color-mix(in srgb,var(--orah-border) 85%,transparent);background:color-mix(in srgb,var(--orah-mist) 35%,var(--orah-ivory));padding:1rem 1.125rem}.booking-panel-title{display:flex;align-items:center;gap:.625rem;margin-bottom:.875rem;font-size:.625rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--orah-charcoal-soft)}.booking-panel-title .booking-icon-badge{flex-shrink:0}.booking-panel-title span{line-height:1.35;padding-top:.125rem}.booking-card-grid{display:grid;gap:.625rem;width:100%}.booking-card-grid>*{min-width:0}.booking-card-grid--1,.booking-card-grid--2{grid-template-columns:1fr}@media (min-width:480px){.booking-card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-card-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.booking-card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.booking-card-grid--list{grid-template-columns:1fr!important;gap:.875rem}@media (min-width:768px){.booking-card-grid--list{gap:1rem}}.booking-card-grid--stagger>.booking-option{animation:booking-card-in .5s var(--booking-ease) backwards}.booking-card-grid--stagger>.booking-option:first-child{animation-delay:.04s}.booking-card-grid--stagger>.booking-option:nth-child(2){animation-delay:.08s}.booking-card-grid--stagger>.booking-option:nth-child(3){animation-delay:.12s}.booking-card-grid--stagger>.booking-option:nth-child(4){animation-delay:.16s}.booking-card-grid--stagger>.booking-option:nth-child(5){animation-delay:.2s}.booking-card-grid--stagger>.booking-option:nth-child(n+6){animation-delay:.24s}@media (prefers-reduced-motion:reduce){.booking-ambient:after,.booking-ambient:before,.booking-card-grid--stagger>.booking-option,.booking-confirm--enter,.booking-confirm--enter .booking-confirm-icon,.booking-mobile-progress-fill,.booking-step-enter{animation:none}}.booking-option{display:flex;width:100%;min-height:3.25rem;align-items:flex-start;gap:.75rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--orah-border) 90%,transparent);background:var(--orah-ivory);padding:.875rem 1rem;text-align:left;box-shadow:0 1px 0 color-mix(in srgb,var(--orah-charcoal) 4%,transparent);transition:border-color .22s var(--booking-ease),box-shadow .22s var(--booking-ease),transform .22s var(--booking-ease)}.booking-option:hover{border-color:color-mix(in srgb,var(--orah-bronze) 40%,var(--orah-border));box-shadow:var(--orah-shadow-md);transform:translateY(-1px)}.booking-option:active{transform:translateY(0) scale(.995)}.booking-option:focus-visible{outline:2px solid color-mix(in srgb,var(--orah-bronze) 50%,transparent);outline-offset:2px}.booking-option[data-selected=true]{border-color:color-mix(in srgb,var(--orah-bronze) 55%,var(--orah-border));background:color-mix(in srgb,var(--orah-bronze) 6%,var(--orah-ivory));box-shadow:0 0 0 1px color-mix(in srgb,var(--orah-bronze) 20%,transparent)}.booking-option-body{min-width:0;flex:1}.booking-option-tail{display:inline-flex;flex-shrink:0;align-items:center;gap:.35rem;margin-top:.15rem}.booking-option-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.booking-option-title{font-size:.9375rem;font-weight:600;line-height:1.35;color:var(--orah-charcoal);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.booking-option-meta{flex-shrink:0;font-family:var(--font-serif,Georgia,serif);font-size:1rem;font-weight:500;color:var(--orah-charcoal);font-variant-numeric:tabular-nums}.booking-option-desc{margin-top:.35rem;font-size:.8125rem;line-height:1.55;color:var(--orah-charcoal-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.booking-option-chevron{flex-shrink:0;color:color-mix(in srgb,var(--orah-charcoal) 35%,transparent);transition:transform .22s var(--booking-ease)}.booking-option:hover .booking-option-chevron{transform:translateX(2px);color:var(--orah-bronze)}.booking-option--has-icon:not(.booking-option--detail){align-items:center;gap:.875rem;padding:.9375rem 1rem}.booking-option--has-icon:not(.booking-option--detail) .booking-option-icon{margin:0;flex-shrink:0}.booking-option--has-icon:not(.booking-option--detail) .booking-option-tail{margin-top:0;align-self:center}.booking-option--detail{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}.booking-option--payment.booking-option--has-icon{align-items:center;gap:1rem;padding:1rem 1.125rem}.booking-option--payment .booking-option-body{flex:1}.booking-option--payment .booking-option-tail{margin-top:0;align-self:center}.booking-option--detail.booking-option--has-icon{display:grid;grid-template-columns:3.75rem 1fr;grid-template-rows:auto auto;column-gap:0;row-gap:0;align-items:stretch}.booking-option--detail.booking-option--has-icon .booking-option-icon{grid-column:1;grid-row:1;place-self:start center;margin:1rem 0 0}.booking-option--detail.booking-option--has-icon .booking-option-body{grid-column:2;grid-row:1;padding:1rem 1.125rem .875rem .25rem}.booking-option--detail.booking-option--has-icon .booking-option-tail{grid-column:1/-1;grid-row:2}.booking-option--detail:hover{transform:translateY(-2px)}.booking-option--detail .booking-option-body{padding:1.0625rem 1.125rem .875rem}.booking-option--detail .booking-option-title{display:block;overflow:visible;font-size:1rem;line-height:1.3;-webkit-line-clamp:unset}.booking-option--detail .booking-option-desc{display:block;overflow:visible;margin-top:.5rem;font-size:.8125rem;line-height:1.6;-webkit-line-clamp:unset;text-wrap:pretty}.booking-option--detail .booking-option-title-row{flex-direction:column;align-items:flex-start;gap:.25rem}.booking-option--detail .booking-option-meta{font-size:1.0625rem}.booking-option--detail .booking-option-tail{display:flex;width:100%;margin-top:0;align-items:center;justify-content:flex-end;gap:.5rem;padding:.625rem 1.125rem;border-top:1px solid color-mix(in srgb,var(--orah-border) 70%,transparent);background:color-mix(in srgb,var(--orah-mist) 45%,var(--orah-ivory))}.booking-option--detail[data-selected=true] .booking-option-tail{background:color-mix(in srgb,var(--orah-bronze) 10%,var(--orah-ivory))}.booking-option-cta{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orah-bronze)}.booking-option--detail .booking-option-chevron{margin-top:0}.booking-field-grid{display:grid;gap:.75rem;width:100%}@media (min-width:400px){.booking-field-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-prefs-layout{display:grid;gap:.875rem;width:100%}@media (min-width:768px){.booking-prefs-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.booking-panel--addons{grid-column:1/-1}}.booking-addons-grid{display:grid;gap:.625rem;grid-template-columns:1fr}@media (min-width:640px){.booking-addons-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.booking-addons-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.booking-slots-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}@media (min-width:380px){.booking-slots-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:640px){.booking-slots-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1024px){.booking-slots-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.booking-slot-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:.35rem;min-width:0!important;height:2.75rem!important;padding-inline:.25rem!important;font-size:.8125rem!important;border-radius:.625rem!important;transition:transform .18s var(--booking-ease),box-shadow .18s var(--booking-ease)!important}.booking-slot-btn--selected{box-shadow:0 4px 14px -4px color-mix(in srgb,var(--orah-charcoal) 45%,transparent)!important}.booking-client-layout{display:grid;gap:1rem;width:100%}@media (min-width:900px){.booking-client-layout{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:1.5rem;align-items:start}.booking-client-form{gap:1.625rem}.booking-client-layout>.booking-arrival-notice{grid-column:1/-1}}.booking-summary-card{margin:0}.booking-summary-card .booking-panel-title{color:var(--orah-bronze)}.booking-summary-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.8125rem}.booking-summary-row dt{display:inline-flex;align-items:center;gap:.45rem;min-height:1.25rem;color:var(--orah-charcoal-soft);flex-shrink:0}.booking-summary-row dd{margin:0;text-align:right;font-weight:500;color:var(--orah-charcoal);word-break:break-word}.booking-client-form{display:flex;flex-direction:column;gap:1.5rem}.booking-form-section{display:flex;flex-direction:column;gap:.875rem}.booking-form-section-head{display:flex;flex-direction:column;gap:.35rem}.booking-form-section-title{margin:0;font-family:var(--font-serif,Georgia,serif);font-size:1.0625rem;font-weight:500;letter-spacing:.02em;color:var(--orah-charcoal)}.booking-form-section-desc{margin:0;font-size:.8125rem;line-height:1.55;color:var(--orah-charcoal-soft);text-wrap:pretty}.booking-field-label{font-size:.6875rem!important;font-weight:600!important;letter-spacing:.06em;text-transform:uppercase;color:var(--orah-charcoal-soft)!important}.booking-field-input{height:2.75rem!important;border-radius:.75rem!important;border-color:var(--orah-border)!important;background:var(--orah-ivory)!important;font-size:.9375rem!important}.booking-field-input:focus-visible{border-color:var(--orah-bronze)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--orah-bronze) 18%,transparent)!important}.booking-field-select{height:2.75rem;width:100%;border-radius:.75rem;border:1px solid var(--orah-border);background:var(--orah-ivory);padding-inline:.75rem;font-size:.9375rem;color:var(--orah-charcoal)}.booking-field-select:focus{outline:none;border-color:var(--orah-bronze);box-shadow:0 0 0 3px color-mix(in srgb,var(--orah-bronze) 18%,transparent)}.booking-billing-block{padding-top:.25rem;border-top:1px solid color-mix(in srgb,var(--orah-border) 65%,transparent)}.booking-billing-options{display:flex;flex-direction:column;gap:.5rem}.booking-billing-fields{margin-top:.25rem;padding:1rem 1rem 1.125rem;border-radius:.875rem;border:1px solid color-mix(in srgb,var(--orah-border) 80%,transparent);background:color-mix(in srgb,var(--orah-mist) 35%,var(--orah-ivory))}.booking-billing-fields-label{margin:0 0 .75rem;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orah-bronze)}.booking-marketing-opt{display:flex;cursor:pointer;align-items:flex-start;gap:.75rem;margin:0;padding:.875rem 1rem;border-radius:.875rem;border:1px dashed color-mix(in srgb,var(--orah-border) 90%,transparent);background:color-mix(in srgb,var(--orah-mist) 25%,transparent)}.booking-marketing-opt-input{margin-top:.15rem;width:1rem;height:1rem;flex-shrink:0;accent-color:var(--orah-sage)}.booking-marketing-opt-text{font-size:.8125rem;line-height:1.55;color:var(--orah-charcoal-soft)}.booking-step-cta{display:flex;flex-direction:column;gap:.625rem;padding-top:.25rem}@media (min-width:520px){.booking-step-cta:has(.booking-step-actions-primary){flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.booking-step-cta .booking-step-actions-primary{flex:1 1 14rem;max-width:22rem}}.booking-step-cta>.booking-btn-primary{max-width:22rem}.booking-step-foot{display:flex;flex-direction:column;gap:.625rem;padding-top:.25rem}@media (min-width:520px){.booking-step-foot--row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.booking-step-foot--row .booking-step-foot-primary{flex:1 1 14rem;max-width:22rem}}.booking-btn-primary{height:3rem!important;width:100%;border-radius:.75rem!important;font-size:.9375rem!important;font-weight:600!important;background:linear-gradient(135deg,var(--orah-charcoal) 0,color-mix(in srgb,var(--orah-charcoal) 88%,var(--orah-bronze)) 100%)!important;box-shadow:0 1px 0 color-mix(in srgb,white 12%,transparent) inset,0 8px 24px -8px color-mix(in srgb,var(--orah-charcoal) 35%,transparent)!important;transition:transform .2s var(--booking-ease),box-shadow .2s var(--booking-ease)!important}.booking-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px 0 color-mix(in srgb,white 14%,transparent) inset,0 12px 28px -6px color-mix(in srgb,var(--orah-charcoal) 40%,transparent)!important}.booking-btn-ghost-link{font-size:.8125rem;font-weight:500;color:var(--orah-charcoal-soft);text-align:center;text-decoration:underline;text-underline-offset:3px;background:none;border:none;padding:.35rem 0;cursor:pointer}.booking-btn-ghost-link:hover{color:var(--orah-charcoal)}.booking-nav-back{align-self:flex-start;margin-left:-.5rem;height:2.25rem!important;font-size:.8125rem!important;color:var(--orah-charcoal-soft)!important}.booking-addon{display:flex;cursor:pointer;align-items:flex-start;gap:.75rem;border-radius:.75rem;border:1px solid color-mix(in srgb,var(--orah-border) 90%,transparent);background:var(--orah-ivory);padding:.75rem .875rem;min-width:0;height:100%}.booking-addon[data-checked=true]{border-color:color-mix(in srgb,var(--orah-bronze) 50%,var(--orah-border));background:color-mix(in srgb,var(--orah-bronze) 8%,var(--orah-ivory))}.booking-addon-check{margin-top:.125rem}.booking-addon-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:.25rem}.booking-addon-name{font-size:.875rem;font-weight:600;line-height:1.45;color:var(--orah-charcoal)}.booking-addon-desc,.booking-addon-name{overflow-wrap:anywhere;word-break:break-word;text-wrap:pretty}.booking-addon-desc{font-size:.8125rem;line-height:1.5;color:var(--orah-charcoal-soft)}.booking-addon-price{margin-top:.125rem;font-size:.75rem;font-weight:600;color:var(--orah-bronze);font-variant-numeric:tabular-nums}.booking-dock{position:fixed;inset-inline:0;bottom:0;z-index:30;border-top:1px solid color-mix(in srgb,var(--orah-border) 95%,transparent);background:color-mix(in srgb,var(--orah-ivory) 94%,transparent);backdrop-filter:blur(12px);box-shadow:0 -12px 40px -16px color-mix(in srgb,var(--orah-charcoal) 18%,transparent);padding:.75rem 1rem max(.75rem,env(safe-area-inset-bottom,0px))}@media (min-width:1024px){.booking-dock{display:none}}.booking-dock-inner{margin-inline:auto;max-width:44rem;display:flex;align-items:center;gap:.625rem}.booking-dock-inner .booking-icon-badge{flex-shrink:0}.booking-dock-total{min-width:0}.booking-dock-label{font-size:.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--orah-charcoal-soft)}.booking-dock-hint{margin-top:.125rem;font-size:.6875rem;color:var(--orah-charcoal-soft)}.booking-dock-value{font-family:var(--font-serif,Georgia,serif);font-size:1.35rem;line-height:1.1;color:var(--orah-charcoal)}.booking-empty{display:flex;flex-direction:column;align-items:center;gap:.875rem;border-radius:.875rem;border:1px dashed color-mix(in srgb,var(--orah-border) 100%,transparent);background:color-mix(in srgb,var(--orah-mist) 40%,transparent);padding:1.5rem 1rem;text-align:center;font-size:.875rem;line-height:1.5;color:var(--orah-charcoal-soft)}.booking-empty .booking-icon-badge{flex-shrink:0}.booking-slots-label{display:inline-flex;gap:.4rem;margin-top:.25rem;font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.booking-slots-label,.booking-slots-loading{align-items:center;color:var(--orah-charcoal-soft)}.booking-slots-loading{display:flex;justify-content:center;gap:.5rem;padding:1.25rem;font-size:.875rem}.booking-summary-service{font-size:.9375rem;font-weight:600;color:var(--orah-charcoal)}.booking-summary-variant{margin-top:.15rem;font-size:.8125rem;color:var(--orah-charcoal-soft)}.booking-summary-list{margin-top:.875rem;display:flex;flex-direction:column;gap:.5rem}.booking-summary-row-icon{width:1rem;height:1rem;flex-shrink:0;color:var(--orah-bronze);opacity:.9}.booking-summary-row--divider{border-top:1px solid color-mix(in srgb,var(--orah-border) 60%,transparent);padding-top:.5rem;margin-top:.25rem}.booking-summary-row--total dd{font-family:var(--font-serif,Georgia,serif);font-size:1.25rem;font-weight:500}.booking-payment-card{border-radius:1rem;border:1px solid color-mix(in srgb,var(--orah-border) 90%,transparent);background:color-mix(in srgb,var(--orah-mist) 30%,var(--orah-ivory));padding:1.25rem;box-shadow:var(--orah-shadow-md)}.booking-confirm--enter{animation:booking-fade-in .5s var(--booking-ease) forwards}.booking-confirm--enter .booking-confirm-icon{animation:booking-confirm-pop .55s var(--booking-ease) .1s backwards}.booking-confirm{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0 .5rem;text-align:center}.booking-confirm-icon{display:flex;width:4.5rem;height:4.5rem;align-items:center;justify-content:center;border-radius:9999px}.booking-confirm-icon--success{background:color-mix(in srgb,#10b981 14%,transparent);color:#047857}.booking-confirm-icon--info{background:color-mix(in srgb,#0ea5e9 12%,transparent);color:#0369a1}.booking-confirm-icon--warning{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#b45309}.booking-confirm-title{font-family:var(--font-serif,Georgia,serif);font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.15;color:var(--orah-charcoal)}.booking-confirm-body{max-width:22rem;font-size:.9375rem;line-height:1.55;color:var(--orah-charcoal-soft)}.booking-arrival-notice{display:flex;align-items:flex-start;gap:.75rem;width:100%;min-width:0;padding:.875rem 1rem;border-radius:.875rem;border:1px solid color-mix(in srgb,var(--orah-bronze) 32%,var(--orah-border));background:color-mix(in srgb,var(--orah-bronze) 7%,var(--orah-ivory))}.booking-arrival-notice .booking-icon-badge,.booking-arrival-notice-icon{flex-shrink:0;margin-top:.0625rem}.booking-arrival-notice-content{min-width:0;flex:1}.booking-arrival-notice-title{font-size:.8125rem;font-weight:700;line-height:1.35;color:var(--orah-charcoal)}.booking-arrival-notice-detail,.booking-arrival-notice-lead{margin-top:.35rem;font-size:.8125rem;line-height:1.5;color:var(--orah-charcoal-soft);text-wrap:pretty}.booking-arrival-notice--compact .booking-arrival-notice-title{font-size:.75rem}.booking-arrival-notice--compact .booking-arrival-notice-detail{margin-top:.25rem;font-size:.75rem}.booking-confirm .booking-arrival-notice{max-width:24rem;text-align:left}@media (max-width:639px){.booking-shell{padding:.875rem 1rem 1.5rem}.booking-shell-header{margin-bottom:1rem}.booking-shell-header .h-8{height:1.75rem}.booking-mobile-progress{margin-bottom:1.125rem}.booking-content-card{padding:1.125rem 1rem 1.25rem}.booking-step{gap:1.25rem}.booking-step-head{gap:.5rem}.booking-step-title{font-size:1.35rem;line-height:1.25}.booking-step-desc{font-size:.8125rem;line-height:1.5}.booking-step-back{margin-bottom:.375rem}.booking-card-grid--list{gap:.75rem}.booking-option:not(.booking-option--detail){min-height:0;padding:.875rem 1rem;gap:.75rem}.booking-card-grid--3{grid-template-columns:1fr;gap:.625rem}.booking-option--detail.booking-option--has-icon{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"icon body" "tail tail";column-gap:.875rem;align-items:start}.booking-option--detail.booking-option--has-icon .booking-option-icon{grid-area:icon;margin:1rem 0 0 1rem;place-self:start center}.booking-option--detail.booking-option--has-icon .booking-option-body{grid-area:body;padding:1rem 1rem .75rem 0}.booking-option--detail.booking-option--has-icon .booking-option-tail{grid-area:tail}.booking-option--detail:not(.booking-option--has-icon) .booking-option-body{padding:1rem 1rem .75rem}.booking-option--has-icon:not(.booking-option--detail){align-items:center;gap:.875rem;padding:1rem}.booking-option--has-icon:not(.booking-option--detail) .booking-option-icon{align-self:center}.booking-option--payment{gap:.875rem;padding:1rem}.booking-option--payment .booking-option-icon{align-self:center}.booking-step-head-row{align-items:center;gap:.875rem}.booking-panel-title{align-items:center}.booking-option--detail .booking-option-title{font-size:.9375rem}.booking-option--detail .booking-option-desc{font-size:.8125rem;line-height:1.58}.booking-option--detail .booking-option-tail{padding:.5625rem 1rem}.booking-arrival-notice{padding:1rem;gap:.875rem}.booking-arrival-notice-title{font-size:.8125rem}.booking-arrival-notice-detail,.booking-arrival-notice-lead{font-size:.8125rem;line-height:1.55}.booking-panel{padding:1rem}.booking-slots-grid{gap:.5rem}.booking-slot-btn{height:2.625rem!important;font-size:.8125rem!important}.booking-step-cta{margin-top:.25rem;padding-top:.5rem}.booking-step-cta>.booking-btn-primary,.booking-step-foot .booking-btn-primary{max-width:none}.booking-dock{padding:.875rem 1rem max(.875rem,env(safe-area-inset-bottom,0px))}.booking-dock-value{font-size:1.25rem}.booking-confirm{gap:1.25rem;padding-inline:0}.booking-confirm .booking-arrival-notice,.booking-confirm .booking-btn-primary{width:100%;max-width:none}.booking-client-layout{gap:1rem}.booking-prefs-layout{gap:.875rem}.booking-nav-back{min-height:2.75rem;padding-inline:.25rem;font-size:.8125rem!important}.booking-option--detail:hover,.booking-option:hover{transform:none}}