.booking{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:64px;align-items:start;padding-top:56px;padding-bottom:72px;background:radial-gradient(ellipse at 10% 0%,#0c2d4066,transparent 55%)}
.booking-intro{position:sticky;top:32px}
.booking-intro .eyebrow{color:var(--muted)}
.booking-title{font-size:clamp(34px,3.6vw,56px);white-space:normal;letter-spacing:-1.8px}
.booking-title em{display:block}
.booking-intro p:not(.eyebrow){color:#a7b7c3;font-size:16px;margin:0 0 16px;max-width:420px}
.booking-intro a,.booking-done a:not(.text-link){color:var(--blue);font-weight:700}
.booking-alt{font-size:14px!important}

.booking-form fieldset{border:1px solid var(--line);background:linear-gradient(120deg,#101c26,#0b131a);border-radius:5px;padding:22px 24px 6px;margin:0 0 18px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.booking-form legend{padding:0 8px;margin-left:-8px;font-size:11px;letter-spacing:2px;font-weight:700;color:var(--blue);text-transform:uppercase}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;min-width:0}
.field.wide{grid-column:1 / -1}
.field label{font-size:13px;color:#c3d0d9;font-weight:600}
.field input,.field select,.field textarea{font:inherit;font-size:16px;color:var(--text);background:#080c10;border:1px solid #2b3f4d;border-radius:3px;padding:11px 12px;min-height:46px;width:100%}
.field textarea{resize:vertical;min-height:110px}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--blue) 50%),linear-gradient(135deg,var(--blue) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px}
.field input::placeholder,.field textarea::placeholder{color:#5f7383}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #00baff30}
.field input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1) opacity(.7)}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#ff6b6b}
.field .error{font-size:12px;color:#ff9b9b}
.field.check label{display:flex;gap:10px;align-items:center;font-weight:400;cursor:pointer}
.field.check input{width:18px;height:18px;min-height:0;accent-color:var(--blue)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}
.form-actions .button{gap:20px}
.form-actions .button:disabled{opacity:.6;transform:none}
.form-note{font-size:13px;color:#7f95a5;margin:0;max-width:340px}
.form-status{font-size:14px;margin:14px 0 0;min-height:1em}
.form-status.err{color:#ff9b9b}
.booking-done{border:1px solid var(--blue);background:linear-gradient(130deg,#03344a,#082333);border-radius:5px;padding:32px}
.booking-done h2{margin-bottom:12px}
.booking-done p:not(.eyebrow){color:#c3d0d9;margin:0 0 20px}
.booking-done .eyebrow{color:var(--blue)}

@media(max-width:900px){.booking{grid-template-columns:1fr;gap:28px;padding-top:32px}.booking-intro{position:static}}
@media(max-width:560px){.booking-form fieldset{grid-template-columns:1fr;padding:18px 16px 4px}.form-actions .button{width:100%}}
.booking-hours{font-size:14px!important;line-height:1.6;border-left:2px solid var(--blue);padding-left:14px}
.booking-hours strong{color:var(--text)}
.field label small{font-weight:400;color:#7f95a5}
