.booking-companion{grid-column:2;grid-row:1;align-self:start;display:grid;grid-template-columns:104px 1fr;gap:4px 12px;padding:14px 16px;background:linear-gradient(120deg,#eef5f7,#f9fbfc);border:1px solid #dce7eb;border-radius:18px;color:#132b3a;margin-bottom:18px}
.booking-sidebar{grid-column:2;align-self:start;display:flex;flex-direction:column;gap:18px;min-width:0}.booking-sidebar>.booking-companion{margin-bottom:0}.booking-sidebar>.booking-summary{position:static;width:100%}
.companion-scene{align-self:center}.companion-scene svg{width:100%;overflow:visible;fill:none;stroke:#254b60;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.companion-case rect{fill:#d3e5ec}.companion-eyes circle,.case-wheel{fill:#254b60}.case-stripe,.companion-road{stroke:#aac4d0}.companion-cloud{stroke:#c3d8e0}.companion-clock circle{fill:#fff}.companion-clock .clock-hands{fill:none;transform-origin:166px 37px}.companion-clock,.companion-pin{opacity:0;transition:opacity .25s}.companion-pin{fill:#d3e5ec}.companion-pin circle{fill:white}.companion-case{animation:case-bob 3s ease-in-out infinite;transform-origin:90px 95px}.companion-eyes{animation:case-blink 5s infinite;transform-origin:90px 49px}.companion-arm{transform-origin:119px 55px}.companion-copy{align-self:center}.companion-kicker{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:#536e7d}.companion-copy p{font-size:.93rem;font-weight:650;line-height:1.3;margin:5px 0}.companion-detail{display:block;font-size:.75rem;line-height:1.5;color:#536977}.companion-pause{grid-column:1/-1;justify-self:end;background:none;border:0;padding:4px;color:#536977;text-decoration:underline;font:inherit;font-size:.68rem;cursor:pointer}.companion-pause:focus-visible{outline:2px solid #254b60;outline-offset:2px}
[data-scene=time] .companion-clock,[data-scene=date] .companion-clock{opacity:1}[data-scene=time] .clock-hands{animation:clock-tick 8s linear infinite}[data-scene=stop] .companion-pin{opacity:1}[data-scene=people] .companion-arm,[data-scene=hello] .companion-arm{animation:case-wave 2s ease-in-out infinite}[data-scene=bags] .companion-case{animation:case-bob .8s ease-in-out 3}[data-scene=ride] .companion-case{animation:case-roll 3s ease-in-out infinite}
@keyframes case-bob{50%{transform:translateY(-3px) rotate(-2deg)}}@keyframes case-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.1)}}@keyframes case-wave{50%{transform:rotate(-20deg)}}@keyframes clock-tick{to{transform:rotate(360deg)}}@keyframes case-roll{50%{transform:translateX(9px) rotate(3deg)}}
.motion-paused *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.booking-companion *{animation:none!important;transition:none!important}}
@media(max-width:1000px){.booking-sidebar{grid-column:1;grid-row:1}.booking-companion{max-width:none;grid-template-columns:86px 1fr}.companion-pause{grid-column:2}}
@media print{.booking-companion{display:none}}
/* Keep the off-canvas mobile navigation from creating horizontal page scroll. */
body[data-page="booking"]{overflow-x:clip}

.booking-sidebar{justify-content:flex-start;height:auto;gap:14px}.booking-sidebar>.booking-summary{margin:0;top:auto;flex:0 0 auto}.booking-sidebar>.booking-companion{flex:0 0 auto;margin:0}
[data-scene=date] .clock-hands{animation:clock-tick 12s linear infinite}[data-scene=contact] .companion-arm,[data-scene=review] .companion-arm{animation:case-wave 3s ease-in-out infinite}[data-scene=bags] .companion-case{animation:case-bob 2s ease-in-out infinite}

