.booking-invitation{padding-top:0}.booking-morph{--morph:1;--reveal:1;position:relative;height:clamp(380px,36vw,510px);max-width:1440px;margin:0 auto 65px;isolation:isolate}.booking-morph-surface{position:absolute;right:0;top:50%;transform:translateY(-50%);width:calc(180px + (100% - 180px)*var(--morph));height:calc(180px + (100% - 180px)*var(--morph));border-radius:clamp(52px,7vw,110px) 28px 28px clamp(52px,7vw,110px);background:var(--acid,#dfff00);z-index:-1}.booking-morph .booking-morph-content{height:100%;width:100%;padding:45px clamp(28px,6vw,90px);margin:0;display:flex;flex-direction:column;justify-content:center;gap:28px;opacity:var(--reveal);transform:translateX(calc((1 - var(--reveal))*25px));color:#172017}.booking-morph h3{font-size:clamp(40px,5.4vw,78px);line-height:1.02}.booking-morph .booking-cta-row{gap:35px}.booking-morph .booking-cta-row p{color:#263422}.booking-morph .booking-cta-row .button{background:#20271f;color:#fff;animation:none;min-height:50px;border-radius:30px}.booking-morph .button:focus-visible,.booking-morph-compact:focus-visible{outline-color:#20271f}.booking-morph-compact{position:absolute;right:0;top:50%;transform:translateY(-50%);width:180px;height:180px;padding:28px;text-align:left;font:600 31px/.98 var(--display);color:#172017;background:transparent;border-radius:58px 28px 28px 58px}.booking-morph-compact span{display:block;text-align:right;font:30px var(--body);margin-top:12px}.booking-morph.is-expanded .booking-morph-compact{opacity:0;visibility:hidden;pointer-events:none}.booking-morph:not(.is-expanded) .booking-morph-content{pointer-events:none}.booking-morph-compact{transition:opacity .18s,visibility .18s}@media(max-width:1000px){.booking-morph .booking-cta-row{flex-direction:column;gap:24px}}@media(max-width:700px){.booking-invitation{padding-top:0}.booking-morph{height:430px;margin-bottom:45px}.booking-morph .booking-morph-content{padding:30px 24px;gap:24px}.booking-morph h3{font-size:42px}.booking-morph .booking-cta-row p{font-size:15px}.booking-morph-surface{border-radius:60px 24px 24px 60px}.booking-morph .booking-cta-row .button{font-size:13px}}@media(prefers-reduced-motion:reduce){.booking-morph .booking-morph-content{transform:none}.booking-morph-compact{transition:none}}
/* The original scene remains the scroll trigger; its contents float globally. */
.booking-morph-floating{position:fixed;max-width:none;margin:0;z-index:80;overflow:hidden;pointer-events:none;--reveal:0}
.booking-morph-floating .booking-morph-surface{inset:0;width:100%;height:100%;transform:none}
.booking-morph-floating .booking-morph-compact{inset:0;transform:none;width:100%;height:100%;text-align:center;pointer-events:auto}
.booking-morph-floating .booking-morph-compact span{text-align:center}
.booking-morph-floating.is-expanded .booking-morph-content{pointer-events:auto}
.booking-morph-floating.is-expanded .booking-morph-compact{pointer-events:none}
.booking-steps{padding-right:var(--booking-tile-clearance,0px)}
@media(max-width:700px){
 .booking-morph-floating{margin:0}
 .booking-morph-floating .booking-morph-compact{padding:12px;font-size:23px}
 .booking-morph-floating .booking-morph-compact span{font-size:24px;margin-top:7px}
 .booking-morph-floating .booking-morph-surface{border-radius:36px 20px 20px 36px}
}
/* Compact, low placement; the scene scrolls away before the panel folds. */
.booking-morph:not(.booking-morph-floating){height:clamp(350px,29vw,420px);margin-bottom:32px}
.format-morph-scene{width:91.4%;max-width:1440px;margin:35px auto 65px!important}
.booking-morph-floating.is-format .booking-morph-surface{background:var(--acid,#dfff00)}
.booking-morph-floating.is-format .booking-morph-content,.booking-morph-floating.is-format .booking-morph-compact,.booking-morph-floating.is-format .booking-cta-row p{color:#172017}
.booking-morph-floating .booking-morph-surface{transition:background .35s ease}
.booking-client-reels{--logo-width:190px;--logo-gap:24px;overflow:hidden;margin:0 -4.7% 80px;display:grid;gap:20px;padding:8px 0}
.booking-client-row{display:flex;gap:var(--logo-gap);width:max-content;animation:booking-clients-drift 12s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.booking-client-row:nth-child(2){animation-direction:alternate-reverse}
.booking-client-reels.is-visible .booking-client-row{animation-play-state:running}
.booking-client{width:var(--logo-width);height:125px;flex-shrink:0;border:1px solid #e6e8e3;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:18px;background:#fff}
.booking-client img{width:115px;height:48px;object-fit:contain}
.booking-client span{font-size:12px;text-align:center;line-height:1.3;color:#596056}
.booking-client-word span{font-size:20px;font-weight:600;color:#252b23}
@keyframes booking-clients-drift{from{transform:translateX(0)}to{transform:translateX(calc(-1*(var(--logo-width) + var(--logo-gap))))}}
@media(max-width:700px){.booking-morph:not(.booking-morph-floating){height:430px}.booking-client-reels{--logo-width:145px;--logo-gap:16px;margin-bottom:45px}.booking-client{height:110px}.booking-client img{width:95px;height:40px}}
@media(prefers-reduced-motion:reduce){.booking-client-row{animation:none}.booking-morph-floating .booking-morph-surface{transition:none}}
/* Four complete client cards plus a partial card on each side. */
.booking-client-reels{--logo-gap:24px;--logo-width:calc((100vw - 120px)/5);gap:24px}
.booking-client-row,.booking-client-reels.is-visible .booking-client-row{animation:none;transition:none}
.booking-client{height:clamp(150px,13vw,230px);border-radius:22px;gap:20px}
.booking-client img{width:72%;height:clamp(65px,6vw,108px)}
.booking-client span{font-size:clamp(13px,1.1vw,18px)}
.booking-client-word span{font-size:clamp(18px,2vw,30px)}
.booking-morph-floating[hidden]{display:none}
.booking-invitation>.booking-morph{height:clamp(380px,36vw,510px);margin-bottom:65px}
@media(max-width:700px){.booking-client-reels{--logo-gap:12px;--logo-width:calc((100vw - 60px)/5);gap:12px}.booking-client{height:100px;padding:8px;gap:8px;border-radius:12px}.booking-client img{height:38px;width:90%}.booking-client span{font-size:9px}.booking-client-word span{font-size:12px}.booking-invitation>.booking-morph{height:430px;margin-bottom:45px}}

/* Five full logos with cropped neighbours; no secondary name captions. */
.booking-client-reels{--logo-width:calc((100vw - 144px)/6);margin-bottom:110px}
.booking-client{height:clamp(112px,9.75vw,172px);gap:0;padding:16px}
.booking-client img{height:clamp(58px,5.5vw,95px);width:78%}
@media(max-width:700px){.booking-client-reels{--logo-width:calc((100vw - 72px)/6);margin-bottom:65px}.booking-client{height:75px;padding:6px}.booking-client img{height:36px;width:95%}}

/* Keep the complete rail within the green panel width, with equal space above and below. */
.booking-invitation>.booking-morph{margin-bottom:0}
.booking-invitation{padding-bottom:0}
.booking-journey{padding-bottom:0}
.format-worlds-intro{padding-top:0}
.booking-references{max-width:1440px;width:100%;margin:0 auto;padding:clamp(80px,8vw,130px) 0;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;column-gap:16px;row-gap:20px;align-items:center}
.booking-reference-track{grid-column:2;grid-row:1;gap:24px;border-radius:24px}
.booking-reference{flex:0 0 calc((100% - 24px)/2);min-width:0;height:clamp(230px,20vw,280px)}
.booking-reference-nav{display:contents}
.booking-reference-nav [data-reference-prev]{grid-column:1;grid-row:1;justify-self:center}
.booking-reference-nav [data-reference-next]{grid-column:3;grid-row:1;justify-self:center}
.booking-reference-dots{grid-column:1/-1;grid-row:2;display:flex;gap:4px;justify-content:center;align-items:center}
.booking-reference-dots button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:none;border-radius:50%}
.booking-reference-dots button::before{content:'';width:7px;height:7px;border-radius:50%;background:#cbd0c6;transition:background .2s,transform .2s}
.booking-reference-dots button[aria-pressed="true"]::before{background:#20251f;transform:scale(1.25)}
.booking-reference-dots button:focus-visible{outline:2px solid #22acd0;outline-offset:1px}
@media(max-width:700px){.booking-invitation>.booking-morph{margin-bottom:0}.booking-references{grid-template-columns:24px minmax(0,1fr) 24px;column-gap:6px;padding:60px 0;row-gap:14px}.booking-reference-track{gap:16px;border-radius:18px}.booking-reference{flex-basis:100%;height:260px}.booking-reference>div{padding:12px}.booking-reference h3{font-size:20px}.booking-reference p{font-size:12px}}
