.booking-section{width:min(calc(100% - (2 * var(--gutter))), var(--max-width));padding:var(--section-space) 0;grid-template-columns:minmax(0,.72fr) minmax(34rem,1.28fr);gap:clamp(2rem,6vw,6rem);margin:0 auto;scroll-margin-top:6rem;display:grid}.booking-intro{align-self:start;position:sticky;top:8rem}.booking-intro h2{font-family:var(--font-brand,"Unbounded", sans-serif);letter-spacing:-.045em;text-transform:none;margin:1.2rem 0 1.4rem;font-size:clamp(2rem,4vw,3.6rem);font-weight:700;line-height:1.15}.booking-intro>p:not(.eyebrow){max-width:30rem;color:var(--muted);margin:0;font-size:clamp(1rem,1.4vw,1.16rem)}.booking-phone{border-top:1px solid var(--line-top);border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:.2rem 1rem;margin-top:clamp(2.4rem,5vw,4.5rem);padding:1.25rem 0;display:grid}.booking-phone span{color:var(--muted-dark);letter-spacing:.01em;text-transform:none;font-size:.74rem;font-weight:700}.booking-phone strong{font-size:clamp(1.2rem,2vw,1.65rem);font-weight:650}.booking-phone svg{transition:transform .18s var(--ease-out);grid-area:1/2/span 2}.booking-phone:hover svg{transform:translate(.18rem,-.18rem)}.booking-surface{background:#121015;border:1px solid #ffffff1a;border-radius:.75rem;min-height:38rem;padding:clamp(1.4rem,3.5vw,3rem)}.booking-form__heading{color:var(--muted-dark);letter-spacing:.01em;text-transform:none;align-items:center;gap:.8rem;margin:0 0 1rem;font-size:.875rem;font-weight:650;display:flex}.booking-form__heading:not(:first-child){margin-top:2.4rem}.booking-form__heading span{color:var(--accent-bright)}.booking-form__heading p{margin:0}.booking-fields{gap:1rem;display:grid}.booking-fields--two{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-field--wide{grid-column:1/-1}.booking-fields label{gap:.45rem;display:grid}.booking-fields label>span{color:var(--muted);font-size:.875rem;font-weight:650}.booking-fields input,.booking-fields textarea{border-radius:var(--control-radius);color:#f7f5f2;background:#19161c;border:1px solid #ffffff1c;outline:none;width:100%;min-height:3.25rem;padding:.82rem .9rem;font-size:1rem;transition:border-color .16s,background .16s,box-shadow .16s}.booking-fields textarea{resize:vertical;min-height:7.5rem}.booking-fields input::placeholder,.booking-fields textarea::placeholder{color:#f7f5f280}.booking-fields input:hover,.booking-fields textarea:hover{border-color:#fff3}.booking-fields input:focus,.booking-fields textarea:focus{border-color:var(--accent-bright);box-shadow:0 0 0 3px #d32e371f}.booking-date-wrapper{width:100%;display:block}.booking-date-trigger{border-radius:var(--control-radius);color:#f7f5f2;text-align:left;background:#19161c;border:1px solid #ffffff1c;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;min-height:3.25rem;padding:.82rem .9rem;font-size:1rem;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.booking-date-trigger:hover{border-color:#fff3}.booking-date-trigger[aria-expanded=true]{border-color:var(--accent-bright);box-shadow:0 0 0 3px #d32e371f}.booking-date-trigger .is-placeholder{color:#f7f5f280}.booking-date-trigger>svg{color:var(--muted)}.booking-date-trigger>svg:last-child{transition:transform .18s var(--ease-out)}.booking-date-trigger[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.booking-consent{color:var(--muted-dark);align-items:flex-start;gap:.7rem;margin-top:1.5rem;font-size:.76rem;line-height:1.55;display:flex}.booking-consent input{width:1rem;height:1rem;accent-color:var(--accent);margin:.14rem 0 0}.booking-consent a{color:var(--paper-soft);text-underline-offset:.18em;text-decoration:underline}.booking-consent strong{color:var(--paper-soft);font-weight:700}.booking-error{color:#ff9c9c;margin:1rem 0 0;font-size:.86rem}.booking-submit-row{justify-content:space-between;align-items:center;gap:1.2rem;margin-top:1.5rem;display:flex}.booking-submit-row .primary-action{border:0;flex:none}.booking-submit-row .primary-action:disabled{cursor:wait;opacity:.72}.booking-submit-row small{max-width:16rem;color:var(--muted-dark);text-align:right;font-size:.72rem;line-height:1.45}.booking-spinner{animation:.85s linear infinite booking-spin}.booking-confirmation{isolation:isolate;box-sizing:border-box;width:min(100% - 2rem,35rem);max-height:min(90dvh,48rem);color:var(--paper);background:#121015;border:1px solid #ffffff29;border-radius:1rem;margin:auto;padding:clamp(1.5rem,5vw,2.6rem);position:fixed;inset:0;overflow:auto;box-shadow:0 2rem 6rem #000000b8}.booking-confirmation::backdrop{backdrop-filter:blur(8px);background:#000000c7}.booking-confirmation__visual{width:6.2rem;height:5.4rem;margin-bottom:1.5rem;position:relative}.booking-confirmation__orbit{border:1px solid #ef3a3047;border-radius:50%;position:absolute;inset:-.4rem .4rem .2rem -.4rem;transform:rotate(-18deg)}.booking-confirmation__check,.booking-confirmation__send{border-radius:50%;place-items:center;display:grid;position:absolute}.booking-confirmation__check{background:#e3344f;width:4.9rem;height:4.9rem;inset:0 auto auto 0}.booking-confirmation__send{color:#080808;background:var(--paper);border:.28rem solid #111011;width:2.7rem;height:2.7rem;bottom:0;right:0}.booking-confirmation .ui-state-title{font-family:var(--font-brand,"Unbounded", sans-serif);text-transform:none;margin:.5rem 0 .8rem;font-size:clamp(1.65rem,4.5vw,2.5rem);line-height:1.15}.booking-confirmation>p:not(.eyebrow){max-width:29rem;color:var(--muted);margin:0;font-size:1rem;line-height:1.5}.booking-confirmation__steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1.6rem 0;display:grid;position:relative}.booking-confirmation__steps span{min-height:3rem;color:var(--muted);border:1px solid #ffffff1a;border-radius:.8rem;align-items:center;gap:.55rem;padding:.72rem .8rem;font-size:.78rem;font-weight:700;display:flex}.booking-confirmation__steps span.is-complete{color:var(--paper-soft);background:#ffffff0b}.booking-confirmation__steps svg{color:var(--accent-bright);flex:none}.booking-confirmation__steps b{color:var(--muted-dark);letter-spacing:.01em;font-size:.62rem}.booking-confirmation__bot{background:#ffffff09;border:1px solid #ffffff1c;border-radius:.9rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.85rem;display:grid}.booking-confirmation__bot>span{width:2.7rem;height:2.7rem;color:var(--accent-bright);background:#ef3a301f;border-radius:.7rem;place-items:center;display:grid}.booking-confirmation__bot div{gap:.12rem;display:grid}.booking-confirmation__bot strong{font-size:.9rem}.booking-confirmation__bot small{color:var(--muted-dark);font-size:.68rem}.booking-confirmation__bot>svg{color:var(--accent-bright)}.booking-confirmation__primary{color:#f7f5f2;background:#c82740;border-radius:.9rem;justify-content:center;align-items:center;gap:.7rem;width:100%;min-height:3.8rem;padding:.9rem 1rem;font-weight:800;display:flex}.booking-confirmation__fallback,.booking-confirmation__another{width:fit-content;color:var(--muted);background:0 0;border:0;border-bottom:1px solid;margin:1rem auto 0;padding:0;font-size:.75rem;line-height:1.45;display:block}.booking-confirmation__another{color:var(--muted-dark);cursor:pointer;margin-top:1.5rem}.booking-confirmation__code{color:#ddd3cf47;letter-spacing:.12em;text-align:center;margin-top:1.1rem;font-size:.62rem;display:block}@keyframes booking-spin{to{transform:rotate(360deg)}}@media (width<=900px){.booking-section{grid-template-columns:1fr}.booking-intro{position:static}.booking-phone{max-width:34rem}}@media (width<=560px){.booking-section{padding-top:5.5rem}.booking-intro h2{font-size:clamp(2rem,7.5vw,3rem)}.booking-surface{min-height:0;padding:1.2rem}.booking-fields--two{grid-template-columns:1fr}.booking-field--wide{grid-column:auto}.booking-submit-row{flex-direction:column;align-items:stretch}.booking-submit-row .primary-action{justify-content:center;width:100%}.booking-submit-row small{text-align:left;max-width:none}.booking-confirmation__steps{grid-template-columns:1fr}}.booking-section :is(button,a,input,textarea):focus-visible,.booking-confirmation :is(button,a):focus-visible{outline-offset:3px;outline:2px solid #f06c80}.booking-confirmation__primary:active,.booking-submit-row .primary-action:active:not(:disabled){transform:scale(.98)}@media (prefers-reduced-motion:reduce){.booking-section *,.booking-confirmation *{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.booking-section{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.booking-intro{grid-column:1/-1;position:static}.booking-intro .booking-phone{max-width:30rem;margin-top:1.5rem}.booking-table-plan{align-self:start;min-width:0}.booking-balcony-tabs{gap:.5rem;display:flex}.booking-balcony-tabs button{min-height:3rem;color:var(--muted);font:inherit;cursor:pointer;background:#151217;border:1px solid #ffffff24;border-radius:.7rem;flex:1;padding:.6rem;font-size:.85rem}.booking-balcony-tabs button[aria-pressed=true]{color:#f2dec1;background:#2a2420;border-color:#c5a67c}.booking-deposit{color:var(--muted);margin:1.1rem 0 1.5rem;font-size:.9rem}.booking-deposit strong{color:#efcfaa;font-weight:600}.booking-balcony-map{width:100%;line-height:0;position:relative}.booking-balcony-map>img{width:100%;height:auto;display:block}.booking-table-marker{color:#fff4e4;cursor:pointer;white-space:nowrap;background:#181617f5;border:1px solid #c5a67ca6;border-radius:9px;align-items:center;gap:5px;min-height:34px;padding:6px 7px;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 12px #0006}.booking-table-marker strong{font:inherit;font-size:12px;font-weight:600}.booking-table-marker>span{color:#d1b48b;border-left:1px solid #ffffff26;align-items:center;gap:3px;padding-left:5px;font-size:10px;display:flex}.booking-table-marker svg{width:12px;height:16px}.booking-table-marker:hover,.booking-table-marker[aria-pressed=true]{color:#211a15;background:#e3c39a;border-color:#fff0d8}.booking-table-marker:hover>span,.booking-table-marker[aria-pressed=true]>span{color:#4d3924;border-color:#382b322f}.booking-table-selection{border-top:1px solid var(--line);min-height:3.5rem;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.25rem;padding:.85rem 0;font-size:.85rem;line-height:1.5;display:flex}.booking-table-selection button{color:#d7bd99;cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:1px solid}@media (width<=900px){.booking-section{grid-template-columns:1fr}.booking-table-plan{width:100%;max-width:36rem;margin:0 auto}}@media (width<=400px){.booking-table-marker{gap:4px;padding:5px}.booking-table-marker>span{padding-left:4px;font-size:9px}}@media (width<=560px){.booking-intro h2{font-size:clamp(1.25rem,5.5vw,2rem);line-height:1.25}}@media (width<=360px){.booking-table-marker{flex-direction:column;gap:3px;min-width:36px;min-height:38px;padding:4px 5px}.booking-table-marker>span{border-left:0;gap:2px;padding-left:0}.booking-table-marker svg{width:10px;height:13px}}.eyebrow,.zone-number,.zone-meta,.request-form label>span,.date-picker-label,.format-picker-label{font-variant-numeric:tabular-nums;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:800;line-height:1.2}.scenario-choices button,.request-date-trigger{min-height:2.55rem;box-shadow:0 0 0 1px var(--line);color:var(--muted);transition:color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .15s var(--ease-out);background:#ffffff08;border:0;border-radius:.35rem;padding:0 .85rem;font-size:.68rem;font-weight:800}.scenario-choices button[aria-pressed=true],.request-date-trigger[aria-expanded=true]{background:var(--accent);color:var(--paper);box-shadow:inset 0 1px #ffffff2e}.request-form label,.date-picker-field,.format-picker-field{gap:.55rem;min-width:0;display:grid}.request-form label>span,.date-picker-label,.format-picker-label{color:var(--muted)}.date-picker-field{position:relative}.date-picker-label{display:block}.request-date-wrapper{width:100%;display:block;position:relative}.request-date-trigger{border:1px solid var(--line);width:100%;min-height:3.25rem;box-shadow:none;color:var(--paper);text-align:left;background:#ffffff06;border-radius:.45rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:0 .9rem;font-size:.9rem;font-weight:500;display:grid}.request-date-trigger .is-placeholder{color:var(--muted-dark)}.request-date-trigger>svg:first-child{color:var(--muted)}.request-date-chevron{color:var(--muted);transition:transform .18s var(--ease-out), color .18s ease}.request-date-trigger[aria-expanded=true]{color:var(--paper);background:#ffffff0a;border-color:#e4362494;box-shadow:0 0 0 3px #e436241f}.request-date-trigger[aria-expanded=true] .request-date-chevron{color:var(--accent);transform:rotate(180deg)}.request-date-popper{z-index:70!important}.request-date-popper .react-datepicker{overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 24px 60px #0000008a,0 0 40px #e4362414;color:var(--paper)!important;font-family:var(--font-body)!important;background:#08090afa!important;border:1px solid #e4362457!important;border-radius:.9rem!important;font-size:.8rem!important}.request-date-popper .react-datepicker__header{background:#2d0c0cbd!important;border-bottom:1px solid #e436242e!important;padding-top:.9rem!important}.request-date-popper .react-datepicker__current-month{letter-spacing:.02em;text-transform:capitalize;color:var(--paper)!important;font-size:.84rem!important;font-weight:800!important}.request-date-popper .react-datepicker__day-names{margin-top:.55rem!important;margin-bottom:0!important}.request-date-popper .react-datepicker__day-name{text-transform:uppercase;font-size:.62rem;font-weight:800;color:var(--muted)!important}.request-date-popper .react-datepicker__month{margin:.6rem!important}.request-date-popper .react-datepicker__day,.request-date-popper .react-datepicker__day-name{width:2.15rem!important;margin:.13rem!important;line-height:2.15rem!important}.request-date-popper .react-datepicker__day{font-variant-numeric:tabular-nums;height:2.15rem;color:#f5f0e4e0!important;transition:color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .15s var(--ease-out)!important;border-radius:.5rem!important}.request-date-popper .react-datepicker__day:hover{color:var(--paper)!important;background:#e436242e!important}.request-date-popper .react-datepicker__day--selected,.request-date-popper .react-datepicker__day--selected:hover{box-shadow:inset 0 1px #ffffff38,0 8px 18px #b8241833;background:var(--accent)!important;color:var(--paper)!important;font-weight:800!important}.request-date-popper .react-datepicker__day--keyboard-selected:not(.react-datepicker__day--selected){color:var(--paper)!important;background:#e436243d!important}.request-date-popper .react-datepicker__day--today:not(.react-datepicker__day--selected){font-weight:800;box-shadow:inset 0 0 0 1px #e43624a3;color:var(--paper)!important}.request-date-popper .react-datepicker__day--disabled{color:#ffffff2e!important;cursor:not-allowed!important}.request-date-popper .react-datepicker__day--outside-month{color:#fff3!important}.request-date-popper .react-datepicker__navigation{top:.78rem!important}.request-date-popper .react-datepicker__navigation-icon:before{border-color:var(--accent)!important;border-width:2px 2px 0 0!important}.request-date-popper .react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:var(--paper)!important}.request-date-popper .react-datepicker__triangle{display:none!important}.format-picker-field{position:relative}.format-picker-label{display:block}.request-format-trigger{border:1px solid var(--line);width:100%;min-height:3.25rem;color:var(--paper);text-align:left;background:#ffffff06;border-radius:.45rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:0 .9rem;font-size:.9rem;font-weight:500;transition:border-color .18s,background-color .18s,box-shadow .18s;display:grid}.request-format-trigger .is-placeholder{color:var(--muted-dark)}.request-format-trigger>svg{color:var(--muted);transition:color .18s ease, transform .18s var(--ease-out)}.request-format-trigger[aria-expanded=true]{background:#ffffff0a;border-color:#e4362494;box-shadow:0 0 0 3px #e436241f}.request-format-trigger[aria-expanded=true]>svg{color:var(--accent);transform:rotate(180deg)}.request-format-popover{z-index:65;backdrop-filter:blur(22px)saturate(135%);scrollbar-width:none;background:#08090afa;border:1px solid #e436244d;border-radius:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.18rem;max-height:min(18rem,52vh);padding:.4rem;display:grid;position:absolute;top:calc(100% + .55rem);left:0;right:0;overflow-y:auto;box-shadow:inset 0 1px #ffffff14,0 24px 60px #0000008a,0 0 40px #e4362414}.request-format-popover::-webkit-scrollbar{display:none}.request-format-popover[hidden]{display:none}.request-format-popover button{width:100%;min-height:2.85rem;color:var(--paper-soft);text-align:left;transition:color .16s ease, background-color .16s ease, transform .15s var(--ease-out);background:0 0;border:0;border-radius:.48rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem .75rem;font-size:.82rem;font-weight:650;display:grid}.request-format-popover button>svg{color:var(--paper);opacity:0;transition:opacity .16s ease, transform .16s var(--ease-out);transform:scale(.65)}.request-format-popover button[aria-selected=true]{background:var(--accent);color:var(--paper)}.request-format-popover button[aria-selected=true]>svg{opacity:1;transform:scale(1)}@media (hover:hover) and (pointer:fine){.secondary-action:hover,.scenario-choices button:hover,.request-format-trigger:hover,.photo-lightbox button:hover,.footer-links a:hover{box-shadow:var(--control-shadow-hover);color:var(--paper);background:#ffffff0e}.request-format-popover button:hover:not([aria-selected=true]){color:var(--paper);background:#ffffff0f}}.nav-cta:active,.primary-action:active,.secondary-action:active,.text-action:active,.menu-toggle:active,.scenario-choices button:active,.request-date-trigger:active,.request-format-trigger:active,.request-format-popover button:active,.photo-lightbox button:active{transform:scale(.96)}@media (width<=560px){.request-format-popover{grid-template-columns:minmax(0,1fr);max-height:min(20rem,55vh)}}
