.booking-page{background:#f2f4f1;min-height:calc(100vh - 84px)}.booking-intro{padding:70px clamp(24px,7vw,120px) 45px;background:var(--night);color:#fff;position:relative}.booking-intro h1,.booking-confirmation h1{font-size:clamp(44px,6vw,72px);line-height:1;letter-spacing:-.05em;margin:18px 0}.booking-intro>p{max-width:650px;color:#b7c7c1;line-height:1.7}.booking-intro ol{position:absolute;right:clamp(24px,7vw,120px);bottom:52px;display:flex;list-style:none;margin:0;padding:0}.booking-intro li{display:flex;align-items:center;gap:8px;color:#789087;font-size:11px;font-weight:800}.booking-intro li:not(:last-child):after{content:"";width:55px;border-top:1px solid #49645a;margin:0 14px}.booking-intro li b{width:29px;height:29px;border:1px solid #58736a;border-radius:50%;display:grid;place-items:center}.booking-intro li.active{color:#fff}.booking-intro li.active b{background:var(--gold);border-color:var(--gold);color:var(--night)}.booking-workspace{padding:45px clamp(24px,7vw,120px) 90px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}.booking-form{background:#fff;padding:38px;box-shadow:0 15px 50px #15362d0d}.booking-form fieldset{border:0;padding:0;margin:0 0 38px}.booking-form legend{font:800 19px Manrope;margin-bottom:22px}.booking-form legend span{color:var(--gold);margin-right:9px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-fields label{font-size:11px;font-weight:800}.booking-fields label.wide{grid-column:1/-1}.booking-fields small{font-weight:500;color:var(--muted)}.booking-fields input,.booking-fields select,.booking-fields textarea{display:block;width:100%;margin-top:7px;padding:14px;border:1px solid var(--line);background:#fff}.booking-fields textarea{resize:vertical}.consent{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:11px}.submit-booking{width:100%;margin-top:22px}.secure-note{text-align:center;color:var(--muted);font-size:10px}.booking-map{position:sticky;top:20px;background:var(--night);color:#fff}.booking-map #journey-map{height:470px;box-shadow:none}.booking-map>div:last-child{padding:25px}.booking-map h3{margin:0 0 8px}.booking-map p{color:#9fb2aa;font-size:12px}.booking-map span{font-size:11px;margin-right:16px}.booking-error{background:#fff0f0;color:#a72d2d;padding:14px;margin-bottom:22px;font-size:13px}.booking-confirmation{min-height:calc(100vh - 84px);padding:90px max(24px,calc((100vw - 900px)/2));text-align:center;background:var(--night);color:#fff}.confirmation-check{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 30px;background:var(--gold);color:var(--night);font-size:30px}.booking-confirmation>p{max-width:650px;margin:20px auto;color:#bdccc6;font-size:17px;line-height:1.7}.booking-reference{display:inline-block;padding:17px 27px;margin:10px;background:#fff;color:var(--night);font:800 20px Manrope;letter-spacing:.08em}.booking-confirmation .confirmation-note{font-size:13px}.booking-confirmation>div{display:flex;justify-content:center;gap:12px;margin-top:32px}.btn-outline{border:1px solid #6e8980;color:#fff}.booking-form .address-results{top:calc(100% + 1px)}@media(max-width:950px){.booking-intro ol{position:static;margin-top:30px}.booking-workspace{grid-template-columns:1fr}.booking-map{position:relative;order:-1}.booking-map #journey-map{height:350px}}@media(max-width:560px){.booking-intro{padding:55px 20px 35px}.booking-intro ol span{display:none}.booking-intro li:not(:last-child):after{width:35px}.booking-workspace{padding:20px 14px 60px}.booking-form{padding:24px 18px}.booking-fields{grid-template-columns:1fr}.booking-fields label.wide{grid-column:auto}.booking-confirmation{padding:70px 22px}.booking-confirmation>div{flex-direction:column}}
