.booking-page{background:var(--ivory)}.booking-intro{text-align:center;padding:64px 0 40px}.booking-intro h1{font-size:clamp(34px,4vw,54px)}.booking-intro p:last-child{max-width:680px;margin:20px auto 0}.booking-content{padding-bottom:72px}.booking-form{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.booking-field{flex-direction:column;gap:8px;min-width:0;display:flex}.booking-field label,.booking-customer legend{font-size:14px;font-weight:600}.booking-field input,.booking-field select,.booking-field textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:48px;font:inherit;color:var(--ink);background:#fff;border-radius:4px;padding:12px}.booking-field textarea{resize:vertical}.booking-field input:focus-visible,.booking-field select:focus-visible,.booking-field textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.booking-field small,.booking-help{color:var(--muted);font-size:13px;line-height:1.6}.booking-help button{text-underline-offset:3px;color:var(--navy);background:0 0;border:0;padding:4px 0;text-decoration:underline}.booking-customer{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.booking-customer legend{margin-bottom:16px}.booking-wide{grid-column:1/-1}.booking-summary{border:1px solid var(--line);border-top:3px solid var(--gold);background:#fff;min-width:0;padding:28px}main.booking-page .booking-summary h2{font-size:28px}.booking-summary dl{margin:24px 0}.booking-summary dl>div{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(0,1fr);gap:16px;padding:12px 0;font-size:14px;display:grid}.booking-summary dt{color:var(--muted)}.booking-summary dd{margin:0}.booking-summary>.button{border:0;width:100%;margin-top:24px}.booking-error{color:#a02525}.booking-handoff{border-top:1px solid var(--line);overflow-wrap:anywhere;margin-top:24px;padding-top:24px}.booking-handoff h3{margin-bottom:16px}.booking-handoff small{margin:12px 0;display:block}.booking-handoff .button{margin:20px 0 16px}.booking-handoff>button{background:0 0;border:0;display:block}@media (max-width:1023px){.booking-form{grid-template-columns:1fr;gap:32px}}@media (max-width:599px){.booking-fields{grid-template-columns:1fr;gap:20px}.booking-summary{padding:20px}.booking-intro{padding-top:40px}}
