.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-display);letter-spacing:-.045em;text-transform:uppercase;margin:1.2rem 0 1.4rem;font-size:clamp(3.7rem,7vw,6.6rem);font-weight:700;line-height:.78}.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:.08em;text-transform:uppercase;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{border-radius:var(--surface-radius);min-height:38rem;box-shadow:var(--shadow-surface);background:linear-gradient(145deg,#5b131c3d,#0000 42%),#110f10d1;border:1px solid #ffffff1a;padding:clamp(1.4rem,3.5vw,3rem)}.booking-form__heading{color:var(--muted-dark);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.8rem;margin:0 0 1rem;font-size:.76rem;font-weight:800;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:.79rem;font-weight:650}.booking-fields input,.booking-fields textarea{border-radius:var(--control-radius);background:#04040585;border:1px solid #ffffff1c;outline:none;width:100%;min-height:3.25rem;padding:.82rem .9rem;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:#ddd3cf61}.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);text-align:left;background:#04040585;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;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:#ddd3cf7a}.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:radial-gradient(circle at 10% 0,#d32e372e,#0000 36%),#111011;border:1px solid #ffffff29;border-radius:clamp(1.2rem,3vw,2rem);margin:auto;padding:clamp(1.5rem,5vw,2.6rem);position:fixed;inset:0;overflow:auto;box-shadow:0 2rem 6rem #000000b8}.booking-confirmation:before{z-index:-1;content:"";background:radial-gradient(circle,#ef3a3029,#0000 66%);border:1px solid #ef3a3033;border-radius:50%;width:24rem;height:24rem;position:absolute;top:-10rem;right:-8rem}.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:linear-gradient(145deg,#fa4d42,#cf252e);width:4.9rem;height:4.9rem;inset:0 auto auto 0;box-shadow:0 1rem 2.6rem #d32e374d}.booking-confirmation__send{color:#080808;background:var(--paper);border:.28rem solid #111011;width:2.7rem;height:2.7rem;bottom:0;right:0}.booking-confirmation h3{font-family:var(--font-display);text-transform:uppercase;margin:.5rem 0 .8rem;font-size:clamp(2.7rem,9vw,4.6rem);line-height:.88}.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:.08em;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:#080808;background:var(--accent-bright);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(3.25rem,17vw,5rem)}.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}}@media (prefers-reduced-motion:reduce){.booking-phone svg{transition:none}}
