.booking-page{background:#f4efe9;color:#38271f}.booking-page header{position:relative}.booking-shell{min-height:72vh;padding:clamp(3rem,7vw,7rem) max(5vw,1.25rem);display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(2rem,7vw,7rem);align-items:start}.booking-intro{position:sticky;top:2rem}.booking-intro h1{font-size:clamp(3.2rem,7vw,7.4rem);line-height:.86;margin:.5rem 0 1.5rem}.booking-intro p:last-child{max-width:32rem;line-height:1.7}.booking-card{background:#fff;padding:clamp(1.4rem,3.5vw,3.5rem);box-shadow:0 20px 70px #38271f14}.booking-card h2{font-size:clamp(2rem,4vw,3.8rem);margin:.7rem 0 2rem}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8a7a70}.booking-progress span{border-top:1px solid #d8cec7;padding-top:.7rem}.booking-progress .active{border-color:#38271f;color:#38271f}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.booking-grid label,.booking-details>label{display:grid;gap:.45rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.booking-grid label:last-child:nth-child(3){grid-column:1/-1}.booking-grid input,.booking-grid select{width:100%;border:1px solid #cfc3ba;background:#fbf8f5;padding:.9rem 1rem;font:inherit;color:#38271f}.slot-field{border:0;padding:0;margin:2rem 0}.slot-field legend{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem}.booking-slots{display:flex;flex-wrap:wrap;gap:.65rem}.booking-slot{border:1px solid #b9aaa0;background:#fff;padding:.75rem 1rem;cursor:pointer}.booking-slot:hover,.booking-slot.selected{background:#38271f;color:#fff}.booking-muted{color:#7c6c62}.booking-details{border-top:1px solid #e1d8d1;padding-top:1.5rem}.booking-details h3{font-size:1.5rem}.booking-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;margin:1.2rem 0;text-transform:none!important;letter-spacing:0!important;line-height:1.5}.booking-consent input{margin-top:.25rem}.booking-submit{margin-top:1rem}.booking-submit:disabled{opacity:.45;cursor:not-allowed}.booking-alert{min-height:1.4rem;margin-bottom:1rem}.booking-alert.error{color:#8d2f2f}.booking-confirmation{padding:2rem 0}.booking-confirmation h2{margin-bottom:1rem}.booking-reference{font-family:monospace;font-size:.8rem}.booking-page footer{margin-top:0}@media(max-width:800px){.booking-shell{grid-template-columns:1fr}.booking-intro{position:static}.booking-grid{grid-template-columns:1fr}.booking-grid label:last-child:nth-child(3){grid-column:auto}.booking-progress{font-size:.58rem}.booking-page header nav a:last-child{display:none}}