.booking-first .booking-hero{grid-template-columns:1fr 1.15fr;grid-template-rows:auto auto;gap:20px 48px;align-items:start;padding:30px 0 38px}
.booking-intro{grid-column:1;grid-row:1}.booking-first .booking-intro h1{font-size:clamp(36px,3.7vw,49px);line-height:1.08;letter-spacing:-1.3px}
.booking-first .booking-intro .eyebrow{margin:0 0 12px}.booking-first .booking-intro .lead{font-size:18px;line-height:1.5;margin:15px 0 0;max-width:470px}
.booking-first .booking-card{grid-column:2;grid-row:1/3;align-self:center}
.hero-montage{grid-column:1;grid-row:2;border-radius:12px;background:#fff;border:1px solid #dce1e6;overflow:hidden;min-width:0}
.montage-stage{position:relative;aspect-ratio:1.75;overflow:hidden;background:#e4e9ed;isolation:isolate}
.montage-scene,.puzzle-layer,.puzzle-tile{position:absolute;inset:0}.montage-scene[hidden]{display:none}
.montage-grid{width:100%;height:100%;display:grid;gap:3px;background:#fff}.montage-grid img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;display:block}
.montage-destination{grid-template-columns:1.35fr 1fr;grid-template-rows:1fr 1fr}.montage-destination img:first-child{grid-row:1/3;object-position:50% 75%}.montage-destination img:last-child{object-position:center}
.montage-vehicle{display:block;background:#e4e9ed}.montage-vehicle img{object-fit:contain;object-position:center;filter:none}
.montage-experiences{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.montage-experiences img{object-position:center}
.montage-caption{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:25px 16px 13px;background:linear-gradient(transparent,rgba(10,29,44,.76));color:#fff;font-size:17px;line-height:1.4;font-weight:600;pointer-events:none}
.puzzle-layer{z-index:2;pointer-events:none;overflow:hidden}.puzzle-tile{animation:puzzle-arrive .64s cubic-bezier(.2,.7,.25,1) both;will-change:transform,opacity}
@keyframes puzzle-arrive{from{opacity:0;transform:translate(var(--tile-x),var(--tile-y)) scale(.96) rotate(var(--tile-angle))}to{opacity:1;transform:translate(0,0) scale(1) rotate(0)}}
.puzzle-tile:nth-child(1){clip-path:inset(0 75% 66.66% 0);--tile-x:-14px;--tile-y:-12px;--tile-angle:-1deg;animation-delay:0ms}
.puzzle-tile:nth-child(2){clip-path:inset(0 50% 66.66% 25%);--tile-x:-5px;--tile-y:-15px;--tile-angle:1deg;animation-delay:35ms}
.puzzle-tile:nth-child(3){clip-path:inset(0 25% 66.66% 50%);--tile-x:5px;--tile-y:-15px;--tile-angle:-1deg;animation-delay:70ms}
.puzzle-tile:nth-child(4){clip-path:inset(0 0 66.66% 75%);--tile-x:14px;--tile-y:-12px;--tile-angle:1deg;animation-delay:105ms}
.puzzle-tile:nth-child(5){clip-path:inset(33.33% 75% 33.33% 0);--tile-x:-16px;--tile-y:0px;--tile-angle:1deg;animation-delay:70ms}
.puzzle-tile:nth-child(6){clip-path:inset(33.33% 50% 33.33% 25%);--tile-x:-6px;--tile-y:0px;--tile-angle:0deg;animation-delay:35ms}
.puzzle-tile:nth-child(7){clip-path:inset(33.33% 25% 33.33% 50%);--tile-x:6px;--tile-y:0px;--tile-angle:0deg;animation-delay:0ms}
.puzzle-tile:nth-child(8){clip-path:inset(33.33% 0 33.33% 75%);--tile-x:16px;--tile-y:0px;--tile-angle:-1deg;animation-delay:35ms}
.puzzle-tile:nth-child(9){clip-path:inset(66.66% 75% 0 0);--tile-x:-14px;--tile-y:12px;--tile-angle:-1deg;animation-delay:105ms}
.puzzle-tile:nth-child(10){clip-path:inset(66.66% 50% 0 25%);--tile-x:-5px;--tile-y:15px;--tile-angle:1deg;animation-delay:70ms}
.puzzle-tile:nth-child(11){clip-path:inset(66.66% 25% 0 50%);--tile-x:5px;--tile-y:15px;--tile-angle:-1deg;animation-delay:35ms}
.puzzle-tile:nth-child(12){clip-path:inset(66.66% 0 0 75%);--tile-x:14px;--tile-y:12px;--tile-angle:1deg;animation-delay:0ms}
.montage-controls{display:flex;justify-content:space-between;gap:6px;padding:6px 7px;align-items:center;min-height:51px;background:#fff}.montage-controls[hidden]{display:none}.montage-tabs{display:flex;gap:2px;min-width:0}
.montage-controls button{font:600 14px/1.25 Arial,Helvetica,sans-serif;border:0;background:transparent;color:#45576b;padding:10px 8px;min-height:40px;border-radius:6px;cursor:pointer}.montage-controls button:hover{background:#f1f3f5}.montage-controls button[aria-pressed=true]{background:#edf3f6;color:#26374a;box-shadow:inset 0 -2px #365468}
.montage-pause{display:flex;align-items:center;gap:6px;white-space:nowrap}.pause-symbol{font-size:16px}.montage-controls button:focus-visible{outline:3px solid #86a6b9;outline-offset:1px}
.personal-care{display:grid;grid-template-columns:1fr 280px;gap:54px;align-items:center;padding:33px 0 50px;border-top:1px solid #dce1e6}.personal-care .eyebrow{font-size:14px;letter-spacing:1.2px;color:#c5282e;font-weight:700;margin:0 0 12px}.personal-care h2{font:500 32px/1.2 Georgia,'Times New Roman',serif;margin:0 0 15px}.personal-care p{font-size:18px;line-height:1.6;max-width:730px}.personal-care>img{width:100%;height:auto;border-radius:9px;display:block}.personal-care .text-link{font-size:17px}
@media(max-width:1100px){.booking-first .booking-hero{gap:18px 28px}.booking-first .booking-intro h1{font-size:40px}.montage-controls button{padding:10px 6px}.montage-pause .pause-label{display:none}.montage-pause{min-width:40px;justify-content:center}.personal-care{gap:30px;grid-template-columns:1fr 240px}}
@media(max-width:760px){.booking-first .booking-hero{display:flex;flex-direction:column;gap:20px;padding:22px 0 30px}.booking-first .booking-intro h1{font-size:36px;letter-spacing:-.7px;line-height:1.12}.booking-first .booking-intro h1 br{display:none}.booking-first .booking-intro .lead{font-size:18px;margin-top:12px}.booking-first .booking-card{align-self:stretch}.hero-montage{width:100%;margin-top:3px}.montage-stage{aspect-ratio:1.65}.montage-controls button{min-height:44px;font-size:14px;padding:9px 6px}.montage-caption{font-size:16px}.montage-pause .pause-label{display:inline}.personal-care{display:grid;grid-template-columns:1fr;gap:22px;padding:32px 0}.personal-care h2{font-size:28px}.personal-care p{font-size:18px}.personal-care>img{width:240px;max-width:100%}.booking-first .arrival-guide{margin-top:0}}
@media(max-width:360px){.booking-first .booking-intro h1{font-size:33px}.montage-pause .pause-label{display:none}.montage-controls{gap:2px;padding:5px}.montage-controls button{font-size:13px;padding:9px 5px}}
@media(prefers-reduced-motion:reduce){.puzzle-tile{animation:none!important;transform:none!important}.puzzle-layer{display:none}}

.montage-pause[hidden]{display:none}
