.booking-main{padding-block:var(--space-10) var(--section-y)}.step-indicator{grid-template-columns:repeat(5,1fr);grid-gap:var(--space-2);gap:var(--space-2);font-size:var(--text-sm);margin-bottom:var(--space-8);list-style:none;padding:0}.step-indicator li{display:flex;border-top:3px solid var(--navy);padding-top:var(--space-3)}.step-indicator li:has(.step-current)~li{border-top-color:var(--line)}.step-indicator .step-current,.step-indicator button{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--space-11);padding:0;text-align:left;text-decoration:none;color:var(--ink-muted);background:none;border:none;cursor:pointer}.step-indicator button:hover:not(:disabled){text-decoration:underline}.step-indicator .step-current{color:var(--ink-strong);font-weight:600}.step-indicator button:disabled{color:var(--ink-faint);text-decoration:none}.step-num{display:inline-grid;place-content:center;width:var(--space-6);height:var(--space-6);border-radius:var(--radius-full);border:1px solid;font-size:var(--text-xs);flex-shrink:0}.step-current .step-num{background:var(--navy);border-color:var(--navy);color:var(--paper)}@media (max-width:479.98px){.step-indicator{gap:var(--space-2);font-size:var(--text-xs)}.step-indicator .step-current,.step-indicator button{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--space-2)}}.tier-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-6);gap:var(--space-6);align-items:stretch}@media (min-width:768px){.tier-grid{grid-template-columns:repeat(3,1fr)}}.tier-choice{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);text-align:left;width:100%;height:100%;padding:var(--space-6);background:var(--paper-raised);border:1px solid var(--line-control);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.tier-choice strong{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);color:var(--ink-strong)}.tier-choice span{font-family:var(--font-body);font-weight:700;font-size:var(--text-xl);color:var(--coral-cta);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tier-choice small{font-size:var(--text-sm);line-height:var(--leading-prose);color:var(--ink-muted);margin-top:auto}.tier-choice:hover{border-color:var(--navy);box-shadow:var(--shadow-1)}.tier-choice.is-selected{border-color:var(--navy);background:var(--navy-soft);box-shadow:var(--shadow-2)}.booking-layout{display:flex;flex-direction:column-reverse;gap:var(--space-8)}@media (min-width:1024px){.booking-layout{display:grid;grid-template-columns:1fr 320px;align-items:start;grid-gap:var(--space-10);gap:var(--space-10)}}.summary-bar{background:var(--paper-sunken);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-8)}.summary-bar dl{display:flex;flex-wrap:wrap;gap:var(--space-5)}.summary-bar .summary-item dt{font-size:var(--text-xs);color:var(--ink-muted)}.summary-bar .summary-item dd{margin:0;font-weight:500;font-size:var(--text-sm);color:var(--ink-strong)}@media (min-width:1024px){.summary-bar{display:none}.booking-layout .summary-bar{margin-bottom:0}}.summary-rail{display:none}@media (min-width:1024px){.summary-rail{display:block;position:-webkit-sticky;position:sticky;top:calc(var(--space-20) + var(--space-6));background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6)}}.summary-rail h2{font-size:var(--text-lg);margin-bottom:var(--space-4)}.summary-rail dl{display:flex;flex-direction:column;gap:var(--space-3)}.summary-price,.summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);border-top:1px solid var(--line);padding-top:var(--space-3)}.summary-rail dl>div:first-child{border-top:none;padding-top:0}.summary-price dt,.summary-row dt{font-size:var(--text-sm);color:var(--ink-muted)}.summary-row dd{margin:0;font-size:var(--text-sm);font-weight:500;color:var(--ink-strong);text-align:right}.summary-price dd{margin:0;font-family:var(--font-body);font-weight:700;font-size:var(--text-lg);color:var(--coral-cta);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hold-countdown{display:flex;align-items:flex-start;gap:var(--space-3);background:color-mix(in srgb,var(--warning) 14%,var(--paper-raised));border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-6)}.hold-countdown svg{width:var(--icon-md);height:var(--icon-md);color:var(--warning);flex-shrink:0;margin-top:2px}.hold-countdown p{font-size:var(--text-sm);color:var(--warning);font-weight:500}.hold-countdown .hold-countdown-note{margin-top:var(--space-6)}.step-heading{margin-bottom:var(--space-8)}.step-heading h1{font-size:var(--text-4xl)}.step-heading h1:focus{outline:none;box-shadow:none}.step-heading p{color:var(--ink-muted);font-size:var(--text-lg);margin-top:var(--space-3)}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.month-nav h3{font-size:var(--text-lg)}.month-nav-btn{display:inline-grid;place-content:center;width:var(--space-11);height:var(--space-11);border:1px solid var(--line-control);border-radius:var(--radius-full);background:var(--paper-raised);color:var(--navy);font-size:var(--text-xl);cursor:pointer}.month-nav-btn:hover{background:var(--navy-soft)}.month-nav-btn:disabled{color:var(--ink-faint);border-color:var(--line);cursor:not-allowed}.month-grid-head{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:var(--space-1);gap:var(--space-1);margin-bottom:var(--space-2)}.month-grid-head span{text-align:center;font-size:var(--text-xs);color:var(--ink-muted)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:var(--space-1);gap:var(--space-1)}.day-cell{position:relative;aspect-ratio:1;min-height:var(--space-11);display:grid;place-content:center;border-radius:var(--radius-sm);font-size:var(--text-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border:1px solid transparent;background:none}.day-cell.is-outside{visibility:hidden}.day-cell.is-available{background:var(--paper-raised);border-color:var(--line-control);color:var(--ink);-webkit-text-fill-color:var(--ink);opacity:1;cursor:pointer}.day-cell.is-available:hover{border-color:var(--navy);background:var(--navy-soft)}.day-cell.is-selected{background:var(--navy);border-color:var(--navy);color:var(--paper);font-weight:600}.day-cell.is-none{background:var(--paper-sunken)}.day-cell.is-none,.day-cell.is-past{color:var(--ink-faint);cursor:not-allowed}.day-cell.is-past{background:transparent;border-color:var(--line);opacity:.7}.day-cell.is-today:not(.is-selected):after{content:"";position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:var(--radius-full);background:var(--navy)}.day-cell:disabled{pointer-events:none}.month-legend{display:flex;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-4)}.month-legend span{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--ink-muted)}.legend-dot{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-sm);flex-shrink:0}.legend-dot.available{background:var(--paper-raised);border:1px solid var(--line-control)}.legend-dot.none{background:var(--paper-sunken)}.legend-dot.past{background:transparent;border:1px solid var(--line)}.time-section{margin-top:var(--space-10)}.time-section h3{font-size:var(--text-lg)}.time-zone-note{margin-top:var(--space-2);margin-bottom:var(--space-5)}.helper-note,.time-zone-note{color:var(--ink-muted);font-size:var(--text-sm)}.time-grid{grid-template-columns:repeat(2,1fr);grid-gap:var(--space-3);gap:var(--space-3)}@media (min-width:480px){.time-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.time-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.time-grid{grid-template-columns:repeat(3,1fr)}}.time-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--space-12);padding:var(--space-2) var(--space-3);border:1px solid var(--line-control);border-radius:var(--radius-md);background:var(--paper-raised);cursor:pointer}.time-slot:hover{border-color:var(--indigo-deep);background:var(--indigo-soft)}.time-slot.is-selected{background:var(--navy-soft);border-color:var(--navy)}.time-slot .ist-time{font-family:var(--font-mono);font-size:var(--text-base);font-weight:500;color:var(--ink-strong)}.time-slot .local-time{font-size:var(--text-xs);color:var(--ink-muted)}.booking-actions{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-8)}.booking-form{max-width:44rem;padding:var(--space-6);background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-lg)}.booking-form-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--space-5);gap:var(--space-5)}.booking-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.booking-field>span{color:var(--ink);font-size:var(--text-sm);font-weight:600}.booking-field input{width:100%;min-height:var(--space-12);padding:var(--space-3) var(--space-4);background:var(--paper);border:1px solid var(--line-control);border-radius:var(--radius-sm);color:var(--ink);font:inherit}.booking-field input::placeholder{color:var(--ink-muted)}.booking-consent{display:grid;grid-template-columns:auto 1fr;align-items:start;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-6);color:var(--ink-muted);font-size:var(--text-sm);line-height:var(--leading-prose);cursor:pointer}.booking-consent input{width:var(--space-5);height:var(--space-5);margin:2px 0 0;accent-color:var(--indigo-deep);cursor:pointer}.booking-form .error-slot{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);-webkit-border-start:3px solid var(--danger);border-inline-start:3px solid var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--paper-raised));color:var(--danger);font-size:var(--text-sm);list-style-position:inside}.booking-form .booking-actions{padding-top:var(--space-6);border-top:1px solid var(--line)}@media (min-width:640px){.booking-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-field-phone{grid-column:1/-1}}@media (max-width:479.98px){.booking-form{padding:var(--space-5)}.booking-form .booking-actions{display:grid;grid-template-columns:1fr 1fr}.booking-form .booking-actions .btn{width:100%}}.booking-layout>div{min-width:0}.booking-eyebrow{font:600 .75rem/1.6 var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--indigo-deep);margin-bottom:1rem}.date-ribbon{display:flex;gap:.65rem;overflow-x:auto;padding:4px 4px 12px}.date-suggestion{flex:1 0 95px;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;min-height:110px;padding:1rem;border:1px solid var(--line-control);border-radius:.85rem;background:#fff;color:var(--navy);cursor:pointer}.date-suggestion small,.date-suggestion span{font-size:.75rem}.date-suggestion strong{font:600 1.1rem var(--font-body)}.date-suggestion.is-selected{border:2px solid var(--indigo-deep);background:var(--indigo-soft)}.calendar-disclosure{border:1px solid var(--line);border-radius:.85rem;background:#fff;padding:1rem;margin:1rem 0 1.5rem}.calendar-disclosure summary{cursor:pointer;color:var(--navy);font-size:.9rem;font-weight:500}.calendar-disclosure[open] summary{margin-bottom:1rem}.time-section{padding:1.5rem;border:1px solid var(--line);border-radius:1.25rem;background:radial-gradient(at 100% 0,#e8e9f566,transparent 60%),#fff}.time-section h3{font:500 1.3rem var(--font-body);color:var(--navy)}.time-periods{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0}.time-periods button{display:flex;gap:.5rem;align-items:center;border:1px solid var(--line-control);background:#fff;color:var(--navy);padding:.7rem .85rem;border-radius:30px;font:500 .8rem var(--font-body);cursor:pointer}.time-periods button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}.time-periods button:disabled{opacity:.5;cursor:not-allowed}.time-periods span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.85}.time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin:1rem 0}.time-slot{min-height:76px;border-radius:.7rem;background:#fff;min-width:0}.time-slot .ist-time{font-family:var(--font-body);font-size:.9rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-slot .local-time{font-size:.72rem}.time-slot.is-selected{background:var(--indigo-soft);border-color:var(--indigo-deep)}.show-times{margin:1rem 0}.slot-placeholder{display:block;height:76px;border-radius:.7rem;background:var(--paper-sunken)}.summary-rail{background:radial-gradient(at 100% 0,#e8e9f5,transparent 60%),#fff;border-radius:1.1rem}@media(max-width:700px){.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-section{padding:1rem}.date-suggestion{flex-basis:94px}.booking-actions .btn{width:100%}}.held-slot-notice{display:flex;align-items:center;gap:1rem;margin:1rem 0;padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--coral) 62%,var(--line));border-radius:.85rem;background:linear-gradient(110deg,#fff8f6,#f3f1fa);color:var(--navy)}.held-slot-notice .held-slot-icon{display:grid;place-items:center;flex:none;width:2.4rem;height:2.4rem;border-radius:50%;background:#fce1dc;color:var(--deep-coral,#9e493d);font-size:1.5rem}.held-slot-notice div{flex:1 1;min-width:0}.held-slot-notice strong{display:block;font-weight:650}.held-slot-notice p{margin:.3rem 0 0;color:var(--ink-muted);font-size:var(--text-sm);line-height:1.5}.held-slot-notice .btn{flex:none}@media(max-width:640px){.held-slot-notice{align-items:flex-start;flex-wrap:wrap}.held-slot-notice .btn{width:100%}}.fast-soonest .date-suggestion{flex:0 0 140px}.nearest-time-cue{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 1.4rem;margin:0 0 1.25rem;border:1px solid #cdd0ea;border-radius:1.1rem;background:linear-gradient(115deg,#fef8f6,#f5f0fa 58%,#e9eaf7);box-shadow:0 12px 30px #1649660a}.nearest-time-cue .booking-eyebrow{display:block;margin:0 0 .35rem}.nearest-time-cue strong{display:block;color:var(--navy);font:600 clamp(1.15rem,2.2vw,1.5rem)/1.25 var(--font-heading);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nearest-time-cue p{max-width:38rem;margin:.45rem 0 0;color:var(--ink-muted);font-size:.84rem;line-height:1.55}.nearest-time-cue .btn{flex:0 0 auto}@media(max-width:600px){.nearest-time-cue{align-items:stretch;flex-direction:column;gap:.9rem;padding:1.1rem}.nearest-time-cue .btn{width:100%}}.booking-main{padding-block:3rem 6rem}.booking-preview-eyebrow{margin:0 0 1.2rem;font:700 .72rem var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--indigo-deep)}.step-indicator{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:2.5rem}.step-indicator li{display:block;min-width:0;border:0;border-top:3px solid var(--line-strong);padding:.75rem 0 0}.step-indicator li[data-state=complete]{border-top-color:var(--indigo-deep)}.step-indicator li[data-state=current]{border-top-color:var(--navy)}.step-indicator button,.step-indicator li>span{display:flex;align-items:center;gap:.65rem;min-height:2rem;width:100%;padding:0;border:0;border-radius:0;background:none;text-align:left;text-decoration:none;color:var(--ink-muted);font:600 .83rem/1.25 var(--font-body)}.step-indicator li[data-state=current]>span{color:var(--navy);font-weight:700}.step-indicator li[data-state=complete]>button,.step-indicator li[data-state=complete]>span{color:var(--indigo-deep)}.step-indicator button:disabled{color:var(--ink-muted);opacity:1;cursor:not-allowed}.step-indicator button:hover:not(:disabled){color:var(--navy);text-decoration:none}.step-indicator button:hover:not(:disabled) .step-label{text-decoration:underline}.step-indicator button:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:.2rem}.step-indicator .step-num{display:grid;place-items:center;flex:none;width:1.9rem;height:1.9rem;border:1.5px solid;border-radius:50%;background:#fff;color:inherit;font:.74rem/1 var(--font-body);font-weight:700}.step-indicator li[data-state=complete] .step-num{background:var(--indigo-deep);border-color:var(--indigo-deep);color:#fff}.step-indicator li[data-state=current] .step-num{background:var(--navy);border-color:var(--navy);color:#fff}.step-indicator li[data-state=upcoming] .step-num{border-color:var(--line-control);color:var(--ink-muted)}.step-indicator .step-label{overflow-wrap:break-word}.booking-layout{gap:2rem}.booking-layout>div:first-child{max-width:48rem}.booking-layout .step-heading h1{font:500 clamp(2rem,3vw,3rem)/1.15 var(--font-body);max-width:19ch;color:var(--navy)}.booking-layout .step-heading p{margin-top:1.3rem;color:var(--ink-muted)}.booking-layout .tier-grid{display:grid;grid-template-columns:1fr;grid-gap:.75rem;gap:.75rem}.booking-layout .tier-choice{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:start;grid-gap:.25rem 1.5rem;gap:.25rem 1.5rem;min-height:5.2rem;border-radius:.75rem;padding:1rem 1.2rem}.booking-layout .tier-choice strong{grid-column:1;font:600 1rem var(--font-body)}.booking-layout .tier-choice>span{grid-column:2;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end;font-size:1rem;color:var(--navy)}.booking-layout .tier-choice>span small{font:.78rem var(--font-body);color:var(--ink-muted);margin:0}.booking-layout .tier-choice>small{grid-column:1;grid-row:2;margin:0;font-size:.78rem}.booking-layout .tier-choice.is-selected{border:2px solid var(--indigo-deep);background:var(--indigo-soft);box-shadow:none}.booking-layout .summary-rail{border-radius:1rem;background:radial-gradient(at 100% 0,#e8e9f5,transparent 65%),#fff}.booking-layout .summary-rail h2{color:var(--indigo-deep);text-transform:uppercase;letter-spacing:.1em;font:.7rem var(--font-body);font-weight:700}.booking-layout .summary-rail .summary-price dd,.booking-layout .summary-rail dd{color:var(--navy)}.booking-actions{margin-top:1.4rem}@media(min-width:1024px){.booking-layout{grid-template-columns:minmax(0,1fr) 17rem;gap:2rem}}@media(max-width:600px){.step-indicator{gap:.35rem}.step-indicator li{padding-top:.55rem}.step-indicator button,.step-indicator li>span{flex-direction:column;align-items:flex-start;gap:.45rem;font-size:.72rem}.step-indicator .step-num{width:1.7rem;height:1.7rem;font-size:.69rem}.booking-layout .tier-choice{grid-template-columns:1fr auto}}