.booking-main{padding-block:var(--space-10) var(--section-y)}.step-indicator{display:grid;grid-template-columns:repeat(4,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){color:var(--navy);text-decoration:underline}.step-indicator .step-current{color:var(--ink-strong);font-weight:600}.step-indicator button:disabled{color:var(--ink-faint);cursor:not-allowed;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{display: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);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.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%}}