/* Home service photos are isolated from the twelve-plan card layout. */
#experiences .route-card-grid{grid-template-columns:minmax(0,1fr);align-items:stretch}
#experiences .route-card.home-service-card{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;height:auto}
#experiences .home-service-card .home-service-media{width:100%;margin:0;aspect-ratio:3/2;overflow:hidden;flex:none}
#experiences .home-service-card .home-service-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--home-photo-position,50% 50%);aspect-ratio:auto;border-radius:0}
#experiences .home-service-copy{display:flex;flex-direction:column;flex:1;min-width:0;padding:24px;gap:12px}
#experiences .home-service-copy>p,#experiences .home-service-copy>h3{margin:0;overflow-wrap:anywhere}
#experiences .home-service-copy>.text-link{margin-top:auto;min-height:44px;align-content:center}
#experiences .home-service-copy .home-photo-note{font-size:12px;line-height:1.5;color:#59534e}
#experiences .home-service-card .route-card-number{position:static;align-self:flex-start}
.home-plan-directory-link .button{min-height:52px;white-space:normal;max-width:100%;overflow-wrap:anywhere}
@media(min-width:768px){
 #experiences .route-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #experiences .route-card-grid>.route-card:last-child:nth-child(odd){grid-column:auto;width:auto;max-width:none;justify-self:stretch}
 #experiences .route-card.home-kimono-feature{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch;align-items:stretch}
 #experiences .home-kimono-feature .home-service-copy{justify-content:center}
 #experiences .home-kimono-feature .home-service-media{position:relative;aspect-ratio:auto;height:auto;min-height:260px;align-self:stretch}
 #experiences .home-kimono-feature .home-service-media img{position:absolute;inset:0;height:100%;width:100%}
 #experiences .home-kimono-feature .home-service-copy>.text-link{margin-top:12px}
}
/* One full-bleed portrait source; no stretching or letterbox background. */
body [data-plan-photo="large-group"] img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 0%!important;aspect-ratio:auto!important}
body [data-plan-photo="large-group"]{overflow:hidden}
/* Recommendation copy grows vertically. Font metrics stay at the current size. */
.oshare-qr-lp .lp-plan-grid{align-items:stretch;grid-auto-rows:1fr}
.oshare-qr-lp .lp-plan-card[data-recommended-booking]{height:auto;min-height:0;display:flex;flex-direction:column;overflow:visible}
.oshare-qr-lp .lp-plan-card[data-recommended-booking] :is(h3,p,li,a){white-space:normal;overflow-wrap:anywhere;max-height:none;-webkit-line-clamp:unset}
.oshare-qr-lp .lp-plan-card[data-recommended-booking] .lp-plan-actions{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding-top:16px}
.oshare-qr-lp .lp-plan-card[data-recommended-booking] .lp-button-plan{display:flex;align-items:center;justify-content:center;min-height:52px;width:100%;box-sizing:border-box}
.oshare-qr-lp .lp-plan-card[data-recommended-booking] .lp-subtle-link{min-height:44px;align-content:center}
.oshare-qr-lp .recommended-booking-note{line-height:1.6}
.price-list>.recommended-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;min-width:0}
.price-list>.recommended-price-row>.recommended-price-details{grid-column:1/-1;margin:0;min-width:0;white-space:normal}
.recommended-price-details summary{min-height:44px;cursor:pointer;align-content:center}
.recommended-price-details p{white-space:normal;overflow-wrap:anywhere}
.recommended-price-details>.button{display:flex;justify-content:center;align-items:center;width:100%;min-height:52px;white-space:normal}
@media(max-width:480px){.price-list>.recommended-price-row{grid-template-columns:minmax(0,1fr)}.price-list>.recommended-price-row>dd{margin:0}}
