/* V3 refinement: distinct editorial chapters and a continuous booking journey. */
.feeling{background:var(--blue);color:#fff}
.feeling h2 em,.feeling .big-arrow{color:#b7eaff}
.feeling .button.outline{color:#fff;border-color:#ffffff90;background:#ffffff0a}
.feeling .button.outline:hover{background:#ffffff20}
.feeling-photo{box-shadow:0 22px 50px #00327c40}
.gallery{background:#073b9e;color:#fff;border-top:1px solid #ffffff38}
.gallery .eyebrow,.gallery-header-hint{color:#d8eaff}
.gallery-range::-webkit-slider-runnable-track{background:#ffffff30}
.gallery-range::-moz-range-track{background:#ffffff30}
.gallery-range::-webkit-slider-thumb{background:#a9e4ff;box-shadow:0 0 12px #a9e4ff30}
.gallery-range::-moz-range-thumb{background:#a9e4ff}
.gallery-range:focus-visible{outline-color:#b7eaff}
.ui-arrow{display:inline-block;vertical-align:middle;width:1.15em;height:1.15em;flex:none;margin-inline-start:.35em}
.booking-back .ui-arrow{margin-inline-start:0;margin-inline-end:.5em}
.review-source{display:inline-flex;align-items:center;gap:.2em}
.reviews-prev .ui-arrow,.reviews-next .ui-arrow{margin:0;width:19px;height:19px}
.contact-float__arrow{display:grid;place-items:center}
.contact-float__arrow .ui-arrow{width:21px;height:21px;margin:0}
.booking-flow{position:relative;display:flow-root;background:linear-gradient(145deg,#d9eaff,#c3ddff);overflow-anchor:none}
.booking-flow .booking-hero{padding-bottom:124px;--flight-exit:0}
.booking-hero__inner>div{transform:translate3d(calc(var(--flight-exit)*70px),0,0);opacity:calc(1 - var(--flight-exit));will-change:transform,opacity}
.booking-hero__inner>img{transform:translate3d(calc(var(--flight-exit)*30px),calc(var(--flight-exit)*-260px),0) rotate(calc(-5deg - var(--flight-exit)*7deg));opacity:calc(1 - var(--flight-exit)*.8);will-change:transform,opacity}
.booking-flow>.booking-categories{width:calc(100% - 48px);max-width:1304px;margin:-62px auto 0;scroll-margin-top:var(--category-dock-top,108px)}
.booking-flow .booking-selection{padding-top:66px;background:transparent}
.booking-hero h1{font-size:clamp(54px,6.2vw,90px)}
@media(max-width:600px){
 .booking-flow .booking-hero{padding-bottom:92px}
 .booking-hero h1{font-size:clamp(50px,13.8vw,74px)}
 .booking-hero__inner>img{width:95%;margin:10px -10px 0 auto}
 .booking-flow>.booking-categories{width:calc(100% - 24px);margin-top:-50px}
 .booking-flow .booking-selection{padding-top:40px}
 .booking-hero__inner>div{transform:translate3d(calc(var(--flight-exit)*24px),0,0)}
}
@media(prefers-reduced-motion:reduce){.booking-hero__inner>div,.booking-hero__inner>img{will-change:auto}}
/* The glass shell never scrolls: only the transparent inner rail does. */
.booking-dock{position:sticky;top:var(--category-dock-top,108px);z-index:80;width:calc(100% - 48px);max-width:1304px;margin:-62px auto 0;border:1px solid #ffffffcf;border-radius:23px;isolation:isolate;box-shadow:0 12px 35px #073b9e14;scroll-margin-top:var(--category-dock-top,108px)}
.booking-dock:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(120deg,#eaf3fff0,#c7dfffe8);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);clip-path:inset(0 round 23px);pointer-events:none}
.booking-dock .booking-categories{position:relative;top:auto;z-index:auto;margin:0;width:100%;max-width:none;border:0;background:transparent;box-shadow:none;isolation:auto;direction:ltr;scroll-snap-type:none}
.booking-dock .booking-categories:before{display:none}
.category-scroll-hint{display:none}
@media(max-width:1000px){
 .booking-dock .booking-categories{padding-right:37px;scrollbar-color:#83aef0 transparent}
 .category-scroll-hint{display:grid;place-items:center;position:absolute;right:5px;top:50%;width:29px;height:40px;margin-top:-24px;border:1px solid #ffffffb0;border-radius:20px;background:#d8eaffed;color:#0743b4;box-shadow:0 3px 12px #073b9e12;cursor:pointer;animation:category-nudge 2.6s ease-in-out infinite}
 .category-scroll-hint .ui-arrow{margin:0;width:19px;height:19px}
 .category-scroll-hint.points-left .ui-arrow{transform:rotate(180deg)}
 .category-scroll-hint[hidden]{display:none}
}
@media(max-width:600px){.booking-dock{width:calc(100% - 24px);margin-top:-50px;border-radius:18px}.booking-dock:before{clip-path:inset(0 round 18px)}}
@keyframes category-nudge{0%,100%{opacity:.35;transform:translateX(-2px)}50%{opacity:1;transform:translateX(1px)}}
@media(prefers-reduced-motion:reduce){.category-scroll-hint{animation:none;opacity:.8}}
/* Global anchor padding already reserves the header. */
.booking-dock{scroll-margin-top:0}
/* One uninterrupted colour field connects moments and guest voices. */
.moments-flow{background:linear-gradient(145deg,#0b50cf 0%,#075ce9 50%,#063d9c 100%)}
.moments-flow .gallery,.moments-flow .reviews-section{background:transparent;border:0}
@media(max-width:900px){
 .booking-hero__inner>div{transform:none!important;opacity:1!important;will-change:auto}
 .booking-hero__inner>img{transform:rotate(-5deg)!important;opacity:1!important;will-change:auto}
}

/* Discover contact tile and consistent mobile primary navigation. */
.v2-mega__contact.v2-contact-tile{margin:0;padding:14px 13px;border:1px solid #abc8ec80;border-radius:16px;background:linear-gradient(120deg,#eaf4ff,#d4e7ff);color:#123c70;font-size:21px}
.v2-contact-tile>.v2-icon:first-child{width:25px;height:25px;flex-shrink:0}
.v2-mobile-nav details a.v2-contact-tile{margin-top:9px;padding:15px 13px;border:1px solid #abc8ec80;background:#dcecff80;color:#123c70}
.v2-mobile-nav summary,.v2-mobile-nav>.v2-mobile-nav__direct{font-size:27px;font-weight:500;line-height:1.2;letter-spacing:-.035em;padding:18px 2px}
