.booking-page{background-color:var(--bg-primary);min-height:100vh}.booking-main{position:relative;z-index:1;padding-top:calc(var(--header-height) + var(--space-2xl));padding-bottom:var(--space-3xl)}.booking-page .header-nav{background-color:var(--bg-primary);border-bottom-color:var(--border-color)}.booking-page .nav-link{font-size:var(--text-xs)}.booking-layout{align-items:start}.booking-headline{font-size:clamp(2.5rem,4.5vw,4rem);line-height:1.02}.booking-intro{max-width:34ch}.reassurance-list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);padding:0;margin:0}.reassurance-list li{position:relative;padding-left:var(--space-sm);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-muted)}.reassurance-list li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;background-color:var(--accent-brand)}.resume-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);margin-bottom:var(--space-xl);border:1px solid var(--border-color);border-left:2px solid var(--accent-brand);border-radius:var(--radius-sm);background-color:var(--bg-card)}.resume-bar[hidden]{display:none}.resume-bar__detail{font-size:var(--text-sm);color:var(--text-primary);margin-top:2px;max-width:40ch}.resume-bar__actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.progress-track{position:relative;width:100%;height:1px;background-color:var(--border-color);margin-bottom:var(--space-sm)}.progress-track__fill{position:absolute;inset:0 auto 0 0;width:20%;background-color:var(--accent-brand);transition:width .7s var(--ease-out-expo)}.progress-steps{list-style:none;display:flex;justify-content:space-between;gap:var(--space-xs);padding:0;margin:0}.step-item{display:flex;align-items:baseline;gap:var(--space-2xs);font-family:var(--font-body);font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);transition:color var(--transition-smooth)}.step-item .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.step-item.is-active{color:var(--text-primary)}.step-item.is-done{color:var(--text-secondary)}@media (max-width:560px){.step-item .label{display:none}}.booking-steps-wrapper{position:relative}.booking-step{display:none}.booking-step.is-active{display:block}.step-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--border-light)}.step-actions__spacer{flex:1 1}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;background-color:var(--border-light);border:1px solid var(--border-light)}.option-tile{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-sm);background-color:var(--bg-primary);border:none;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);text-align:left;cursor:pointer;position:relative;transition:color var(--transition-fast),background-color var(--transition-fast)}.option-tile .num{font-size:.6rem;letter-spacing:.12em;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color var(--transition-fast)}.option-tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background-color:var(--accent-brand);transform:scaleY(0);transform-origin:center;transition:transform var(--transition-smooth)}.option-tile:hover,.option-tile[aria-checked=true]{color:var(--text-primary);background-color:var(--bg-card)}.option-tile[aria-checked=true]:before{transform:scaleY(1)}.option-tile[aria-checked=true] .num{color:var(--accent-brand)}@media (max-width:640px){.option-grid{grid-template-columns:1fr}}.link-toggle{display:inline-block;background:none;border:none;padding:0;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-color);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.link-toggle:hover{color:var(--text-primary);border-bottom-color:var(--text-primary)}.reveal-field{margin-top:var(--space-md)}.reveal-field[hidden]{display:none}.guest-btn:focus-visible,.link-toggle:focus-visible,.option-tile:focus-visible,.review-edit:focus-visible{outline:2px solid var(--accent-brand);outline-offset:3px}.guest-selector{gap:var(--space-sm);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-2xs)}.guest-btn,.guest-selector{display:inline-flex;align-items:center}.guest-btn{width:2.25rem;height:2.25rem;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:1.1rem;line-height:1;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.guest-btn:hover{color:var(--text-primary);border-color:var(--text-primary)}.guest-input{background:transparent;border:none;font-family:var(--font-display);font-size:2.25rem;font-weight:500;color:var(--text-primary);text-align:center;width:5rem;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.guest-input::-webkit-inner-spin-button,.guest-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.guest-input:focus{outline:none}#error-step-1,#error-step-2,#error-step-3,#error-step-4{margin-top:var(--space-md)}.review-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--border-light)}.review-item:last-child{border-bottom:none}.review-label{font-size:.6rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.review-label,.review-value{font-family:var(--font-body)}.review-value{font-size:var(--text-base);color:var(--text-primary);margin-top:var(--space-3xs);max-width:34ch}.review-edit{flex-shrink:0;background:transparent;border:none;padding:0;font-family:var(--font-body);font-size:.6rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-color);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.review-edit:hover{color:var(--accent-brand);border-bottom-color:var(--accent-brand)}.trust-msg{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted);max-width:46ch}.confirm-mark{display:grid;grid-template-columns:repeat(3,12px);grid-template-rows:repeat(4,12px);grid-gap:3px;gap:3px}.confirm-mark .cell{border:1px solid var(--border-color)}.confirm-mark .cell.is-on{background-color:var(--accent-brand);border-color:var(--accent-brand)}.confirm-copy{max-width:44ch}.confirmation-sequence{display:flex;flex-direction:column;gap:var(--space-md);padding-left:var(--space-2xs);border-left:1px solid var(--border-color)}.seq-item{display:flex;align-items:center;gap:var(--space-sm);margin-left:calc(var(--space-2xs) * -1 - 4px);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-muted);transition:color var(--transition-smooth)}.seq-dot{width:7px;height:7px;flex-shrink:0;background-color:var(--bg-primary);border:1px solid var(--border-color)}.seq-item.is-active{color:var(--text-primary)}.seq-item.is-active .seq-dot{background-color:var(--accent-brand);border-color:var(--accent-brand)}.confirm-next__links{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;background-color:var(--border-light);border:1px solid var(--border-light)}.confirm-link{display:block;padding:var(--space-md);background-color:var(--bg-primary);transition:background-color var(--transition-fast)}.confirm-link:hover{background-color:var(--bg-card)}.confirm-link__title{display:block;font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;color:var(--text-primary)}.confirm-link__desc{display:block;margin-top:var(--space-2xs);font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5}@media (max-width:640px){.confirm-next__links{grid-template-columns:1fr}}.booking-visual-col{position:-webkit-sticky;position:sticky;top:calc(var(--header-height) + var(--space-lg))}.booking-image-wrapper{position:relative;width:100%;aspect-ratio:4/5;background-color:var(--bg-alt);border-radius:var(--radius-sm);overflow:hidden}.contextual-img{width:100%;height:100%;object-fit:cover}.booking-grid-marker{position:absolute;bottom:var(--space-md);right:var(--space-md);z-index:6;display:grid;grid-template-columns:repeat(3,7px);grid-template-rows:repeat(4,7px);grid-gap:2px;gap:2px}.booking-grid-marker .cell{background-color:transparent;border:1px solid rgba(240,239,235,.65);transition:background-color var(--transition-smooth),border-color var(--transition-smooth)}.booking-grid-marker .cell.active{background-color:var(--accent-brand);border-color:var(--accent-brand)}.booking-caption{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border-light)}.booking-caption__text{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-3xs);max-width:34ch}@media (max-width:1024px){.booking-content-col{grid-column:span 12}.booking-visual-col{display:none}.booking-main{padding-top:calc(var(--header-height) + var(--space-lg))}}@media (max-width:640px){.form-row{flex-direction:column;gap:var(--space-md)}.step-actions{flex-direction:column-reverse;align-items:stretch}.step-actions .btn{width:100%}.step-actions__spacer{display:none}.resume-bar__actions .btn{flex:1 1}}@media (prefers-reduced-motion:reduce){.progress-track__fill{transition:none}}