.article-booking-layout{display:grid;grid-template-columns:minmax(0,864px) minmax(320px,383px);gap:32px;max-width:1279px;margin:0 auto;align-items:start}.article-column{min-width:0}.article-column .article-nav{margin:0 0 25px;gap:24px;justify-content:flex-start;padding:16px 0;font-size:17px}.article-column .detail-head{text-align:left;margin-top:0;align-items:stretch}.article-column .detail-head>div{max-width:100%;margin:0;padding:0}.article-column .detail-head h1{font-size:32px;line-height:1.5}.article-column .detail-head>figure{width:100%;max-width:100%;margin:0}.article-column .detail-head>.lead{max-width:100%;margin-top:22px}.article-column .theme-story{max-width:100%;width:100%;margin:0!important}.article-column .article-photo.photo-wide,.article-column .article-photo.photo-inset{width:100%;max-width:100%;position:static;left:auto;transform:none;margin:30px 0 35px!important}.article-column .article-photo.photo-inset{width:92%;margin-left:auto!important;margin-right:auto!important}.article-column .article-photo img,.article-column .detail-head>figure img{max-width:100%;max-height:min(60vh,600px);max-height:min(60svh,600px);width:auto!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}.article-column .article-photo figcaption,.article-column .detail-head>figure figcaption{max-width:100%;padding:0}.booking-panel{position:sticky;top:24px;align-self:start;border:1px solid #d7d7d7;border-radius:12px;background:white;padding:24px;margin:0;overflow:visible}.booking-panel h2{font-size:23px;font-weight:500;line-height:1.5;margin-bottom:20px}.booking-panel>label{display:block;font-size:17px;margin-bottom:8px}.booking-choice{display:block;width:100%;max-width:100%;font-size:17px;line-height:1.5;padding:12px 10px;border:1px solid #bcbcbc;border-radius:6px;background:white;color:#222}.booking-option[hidden]{display:none!important}.booking-dates{font-size:17px;line-height:1.65;margin:20px 0}.booking-dates strong{font-weight:600}.booking-selected{display:flex;align-items:center;gap:14px;margin-bottom:18px}.booking-selected img{width:82px;height:62px;object-fit:cover;border-radius:5px;flex-shrink:0}.booking-selected h3{font-size:18px;line-height:1.55;margin:4px 0 0;font-weight:500}.booking-ship{font-size:17px;line-height:1.5;margin:0;color:#555}.booking-route{font-size:17px;line-height:1.7;margin:0 0 18px;color:#444}.booking-price{font-size:22px;line-height:1.55;margin:0 0 20px}.booking-price strong{font-weight:800;color:#222}.booking-price span{font-size:17px;white-space:nowrap}.booking-brief{background:#f6f6f6;border-radius:6px;padding:14px;margin-bottom:20px}.booking-brief p{font-size:17px;line-height:1.65;margin:0 0 8px;color:#555}.booking-brief p:last-child{margin:0}.booking-cta{display:block;background:#222;color:white;font-size:18px;line-height:1.6;text-align:center;padding:15px 8px;border-radius:6px}.booking-cta:focus-visible{outline:3px solid #222;outline-offset:4px}.booking-footnote{font-size:17px;line-height:1.65;color:#555;margin:16px 0 0}@media(min-width:1101px) and (max-height:899px){.booking-panel{position:static}}@media(max-width:1100px){.article-booking-layout{display:flex;flex-direction:column;gap:35px}.article-column{width:100%}.booking-panel{position:static;width:100%;max-width:600px;align-self:center;order:0}}@media(max-width:700px){.article-column .article-nav{gap:16px;font-size:17px;margin-bottom:22px}.article-column .detail-head h1{font-size:26px;line-height:1.5;text-wrap:balance}.article-column .article-photo.photo-wide,.article-column .article-photo.photo-inset{width:100%;margin:24px 0 28px!important}.article-column .article-photo img,.article-column .detail-head>figure img{max-height:min(55vh,420px);max-height:min(55svh,420px);object-fit:contain!important}.booking-panel{padding:22px 18px}.booking-choice{font-size:17px}.booking-panel h2{font-size:23px}.booking-price{font-size:23px}.booking-cta{font-size:18px}.booking-selected img{width:76px;height:58px}}

/* Desktop core stays sticky; only route and conditions scroll inside the panel. */
@media(min-width:1101px){
 .booking-panel{position:sticky!important;top:16px;max-height:calc(100vh - 32px);max-height:calc(100svh - 32px);height:min(660px,calc(100vh - 32px));height:min(660px,calc(100svh - 32px));display:flex;flex-direction:column;padding:18px;overflow:hidden}
 .booking-panel h2{font-size:21px;line-height:1.4;margin:0 0 10px;flex-shrink:0}
 .booking-panel>label{font-size:17px;line-height:1.4;margin-bottom:7px;flex-shrink:0}
 .booking-choice{font-size:17px;line-height:1.4;padding:10px 8px;flex-shrink:0}
 .booking-current{display:flex;flex-direction:column;flex:1;min-height:0}
 .booking-option:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0}
 .booking-essential{flex-shrink:0}
 .booking-dates{font-size:17px;line-height:1.5;margin:14px 0 10px}
 .booking-price{font-size:22px;line-height:1.4;margin:0 0 14px}
 .booking-details{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:auto;scrollbar-gutter:stable;padding-right:6px;margin-bottom:14px}
 .booking-selected{margin-bottom:12px;gap:12px}.booking-selected h3{font-size:18px;line-height:1.5}.booking-selected img{width:72px;height:54px}
 .booking-route{font-size:17px;line-height:1.6;margin-bottom:12px}
 .booking-brief{padding:12px;margin:0}.booking-brief p{font-size:17px;line-height:1.6}
 .booking-cta{flex-shrink:0;font-size:18px;line-height:1.5;padding:13px 6px;margin:0}
 .booking-details:focus-visible{outline:2px solid #222;outline-offset:-2px}
}
@media(max-width:1100px){.booking-panel{position:static!important;height:auto;max-height:none;display:block;overflow:visible}.booking-details{overflow:visible;max-height:none}.booking-essential{display:block}.booking-cta{margin-top:20px}}

@media(min-width:1101px){.booking-panel{height:min(660px,var(--booking-available,calc(100svh - 32px)));max-height:var(--booking-available,calc(100svh - 32px))}}

/* Reserve photo geometry to keep article scrolling stable. */
.article-column img[src="/assets/legend-hero.jpg"]{--photo-aspect:1.7777777777777777;--photo-ratio:1920/1080;--photo-width:1920px}
.article-column img[src="/assets/geumja.png"]{--photo-aspect:0.8513612950699043;--photo-ratio:1157/1359;--photo-width:1157px}
.article-column img[src="/assets/bimini-club.jpg"]{--photo-aspect:1.5;--photo-ratio:1200/800;--photo-width:1200px}
.article-column img[src="/assets/bimini-island.jpg"]{--photo-aspect:1.5;--photo-ratio:2400/1600;--photo-width:2400px}
.article-column img[src="/assets/scarlet-lady.jpg"]{--photo-aspect:1.0;--photo-ratio:1080/1080;--photo-width:1080px}
.article-column img[src="/assets/legend-card-2.jpg"]{--photo-aspect:1.7777777777777777;--photo-ratio:1920/1080;--photo-width:1920px}
.article-column img[src="/assets/legend-card-1.jpg"]{--photo-aspect:1.7777777777777777;--photo-ratio:1920/1080;--photo-width:1920px}
.article-column img[src="/assets/karina-bahamas-editorial.jpg"]{--photo-aspect:0.75;--photo-ratio:1170/1560;--photo-width:1170px}
.article-column img[src="/assets/legend-part2-1000.jpg"]{--photo-aspect:1.7777777777777777;--photo-ratio:1920/1080;--photo-width:1920px}
.article-column img[src="/assets/pani-youtube-cover-editorial.jpg"]{--photo-aspect:1.7777777777777777;--photo-ratio:1280/720;--photo-width:1280px}
.article-column img[src="/assets/virgin-scarlet-night-editorial.jpg"]{--photo-aspect:1.1629576453697057;--photo-ratio:1620/1393;--photo-width:1620px}
.article-column img[src="/assets/virgin-wake.jpg"]{--photo-aspect:1.0;--photo-ratio:1620/1620;--photo-width:1620px}
.article-column img[src="/assets/nassau-beach.jpg"]{--photo-aspect:1.0805084745762712;--photo-ratio:765/708;--photo-width:765px}
.article-column img[src="/assets/legend-slides-scene.jpg"]{--photo-aspect:1.7777777777777777;--photo-ratio:1920/1080;--photo-width:1920px}
.article-column img[src="/assets/nassau-fish-fry.jpg"]{--photo-aspect:1.0805084745762712;--photo-ratio:765/708;--photo-width:765px}
.article-column img[src="/assets/virgin-pink-agave.jpg"]{--photo-aspect:1.0;--photo-ratio:1620/1620;--photo-width:1620px}
.article-column img[src="/assets/legend-show-scene.jpg"]{--photo-aspect:1.7777777777777777;--photo-ratio:1920/1080;--photo-width:1920px}
.article-column img[src="/assets/nassau-downtown.jpg"]{--photo-aspect:1.0805084745762712;--photo-ratio:765/708;--photo-width:765px}
.article-column img[src="/assets/legend-park-scene.jpg"]{--photo-aspect:1.7777777777777777;--photo-ratio:1920/1080;--photo-width:1920px}
.article-column img[src="/assets/virgin-galley.jpg"]{--photo-aspect:1.7941176470588236;--photo-ratio:1220/680;--photo-width:1220px}
.article-column img[src="/assets/virgin-gunbae-social.jpg"]{--photo-aspect:1.0;--photo-ratio:1620/1620;--photo-width:1620px}
.article-column img[src="/assets/virgin-gunbae-table.jpg"]{--photo-aspect:1.0;--photo-ratio:1620/1620;--photo-width:1620px}
.article-column img[src="/assets/virgin-gunbae-overhead.jpg"]{--photo-aspect:1.7647058823529411;--photo-ratio:3000/1700;--photo-width:3000px}

@media(min-width:1101px){.article-column .article-photo img,.article-column .detail-head>figure img{aspect-ratio:var(--photo-ratio)!important;width:min(100%,var(--photo-width),calc(min(60svh,600px)*var(--photo-aspect)))!important;height:auto!important}}
@media(max-width:1100px){.article-column .article-photo img,.article-column .detail-head>figure img{aspect-ratio:var(--photo-ratio)!important;width:min(100%,var(--photo-width),calc(min(55svh,420px)*var(--photo-aspect)))!important;height:auto!important}}
.controls output{white-space:nowrap;min-width:46px}

/* Preserve complete exterior view in booking thumbnails. */
.booking-selected img{object-fit:contain;background:#f5f5f5}

.article-column .detail-head img[src="/assets/pani-youtube-cover-editorial.jpg"]{--photo-aspect:1280/720;--photo-ratio:1.7777777778;--photo-width:1280px;object-fit:contain!important}
