.promo-peek{position:absolute;z-index:2;right:26px;bottom:26px;width:214px;background:#fffffff5;border:1px solid #ffffff80;border-radius:16px;box-shadow:0 8px 28px #0003;overflow:hidden;color:#123b33}.promo-peek[hidden]{display:none}.promo-heading{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;font-size:11px;font-weight:700;letter-spacing:.5px}.promo-peek button{font:inherit;color:inherit;cursor:pointer}.promo-heading button,.promo-controls button{border:0;background:transparent;min-width:30px;min-height:28px;border-radius:7px}.promo-viewport{overflow:hidden}.promo-track{display:flex;transition:transform .65s ease}.promo-slide{flex:0 0 100%;min-width:0;padding:0;border:0;background:white;text-align:left}.promo-slide img{display:block;width:100%;height:139px;object-fit:cover;object-position:center}.promo-slide strong{display:block;font-size:13px;padding:9px 12px 0;line-height:1.25}.promo-slide>span{display:block;padding:4px 12px 8px;font-size:11px}.promo-controls{display:flex;align-items:center;justify-content:space-between;padding:0 6px 4px;font-size:11px}.promo-peek button:focus-visible,.promo-dialog button:focus-visible{outline:3px solid #008f89;outline-offset:-3px}.promo-dialog{width:min(960px,92vw);max-height:90dvh;padding:24px;border:0;border-radius:22px;color:#123b33;background:#fafaf5;box-shadow:0 20px 100px #0005}.promo-dialog::backdrop{background:#082c28bc}.promo-modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.promo-modal-head h2{margin:0;font-size:25px}.promo-close{border:0;background:#e9eee8;border-radius:50%;width:42px;height:42px;font-size:28px;flex-shrink:0;cursor:pointer}.promo-tabs{display:flex;gap:8px;overflow-x:auto;padding:20px 0}.promo-tabs button{font:inherit;flex-shrink:0;border:1px solid #bdccc3;border-radius:22px;padding:9px 15px;background:white;color:#123b33;cursor:pointer}.promo-tabs button[aria-pressed=true]{background:#123b33;color:white}.promo-detail{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:26px}.promo-detail>img{width:100%;height:auto;border-radius:12px}.promo-detail h3{margin-top:8px}.promo-description{white-space:pre-wrap;line-height:1.65}.promo-dates{font-size:13px;color:#536c60}.promo-detail .cta{margin-top:14px}.has-promotions .hero-copy{max-width:calc(100% - 230px)}@media(max-width:760px){.has-promotions{display:flex;flex-direction:column;align-items:stretch}.has-promotions .hero-copy{max-width:none;padding-bottom:20px}.promo-peek{position:relative;align-self:flex-end;right:auto;bottom:auto;margin:0 18px 20px;width:190px}.promo-slide img{height:112px}.promo-detail{grid-template-columns:1fr}.promo-detail>img{max-height:50dvh;object-fit:contain;background:white}.promo-dialog{padding:18px}.promo-modal-head h2{font-size:21px}}@media(prefers-reduced-motion:reduce){.promo-track{transition:none}}
/* Translucent promotion card blends into the hero while keeping offers legible. */
.promo-peek{background:rgba(255,255,255,.69);border-color:rgba(255,255,255,.42);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:0 6px 22px #082c2826}
.promo-heading{padding:11px 12px;font-size:13px;letter-spacing:.2px}
.promo-heading>span{color:#b51f2a;font-weight:800}
.promo-slide{background:rgba(255,255,255,.28)}
.promo-slide img{opacity:.83;transition:opacity .25s ease}
.promo-peek:hover .promo-slide img,.promo-peek:focus-within .promo-slide img{opacity:1}
@media(prefers-reduced-motion:reduce){.promo-slide img{transition:none}}

/* Permanent cover: preserve the entire supplied artwork at all widths. */
.promo-slide img{height:auto;aspect-ratio:3/2;object-fit:contain}

.promo-cover{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;opacity:.83}
.promo-peek:hover .promo-cover,.promo-peek:focus-within .promo-cover{opacity:1}
.promo-controls[hidden],.promo-pause[hidden]{display:none}

/* Brush-style lettering echoes the romantic package artwork. */
@font-face{font-family:"Kaushan Script";src:url("/fonts/kaushan-script-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
.promo-heading{gap:4px}
.promo-heading>span{font-family:"Kaushan Script",cursive;font-size:20px;font-weight:400;line-height:1.3;letter-spacing:0;text-shadow:0 .3px 0 currentColor;white-space:nowrap}
.promo-heading .promo-pause{flex-shrink:0;min-width:24px;padding:0}
@media(max-width:760px){.promo-heading>span{font-size:18px}}

/* Let every poster fill the card width at its original proportions. */
.promo-track{align-items:flex-start}
.promo-slide img,.promo-cover{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.promo-viewport{transition:height .35s ease}
@media(prefers-reduced-motion:reduce){.promo-viewport{transition:none}}

/* Matching activity carousel on the destination photograph. */
.events-peek{width:244px}
.events-peek .promo-heading>span{font-size:19px}
.events-peek a.promo-slide{display:block;text-decoration:none;color:inherit}
.events-peek a:focus-visible{outline:3px solid #008f89;outline-offset:-3px}
.events-peek .events-crop{display:block;width:100%;height:auto;opacity:.83}
.events-peek:hover .events-crop,.events-peek:focus-within .events-crop{opacity:1}
.has-experiences .discover-feature-copy{max-width:calc(100% - 285px)}
@media(max-width:760px){
  .discover-feature-photo.has-experiences{flex-direction:column;align-items:stretch}
  .has-experiences .discover-feature-copy{max-width:none}
  .events-peek{position:relative;right:auto;bottom:auto;width:214px;margin:0 18px 20px;align-self:flex-end}
  .events-peek .promo-heading>span{font-size:17px}
}
.events-peek .promo-slide img,.events-peek .events-crop{max-height:230px;object-fit:contain}

/* Keep mobile document height constant while either carousel rotates. */
@media(max-width:760px){
  .promo-peek{--peek-media-height:188px}
  .events-peek{--peek-media-height:212px}
  .promo-peek .promo-viewport{height:calc(var(--peek-media-height) + 70px);transition:none}
  .promo-peek .promo-track{height:100%;align-items:stretch}
  .promo-peek .promo-slide{height:100%}
  .promo-peek .promo-slide img,.promo-peek .promo-cover,.events-peek .events-crop{height:var(--peek-media-height);max-height:none;object-fit:contain;aspect-ratio:auto}
  .promo-peek .promo-slide strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;height:43px;line-height:17px;padding-top:9px}
  .promo-peek .promo-slide>span{height:27px;line-height:15px}
  .promo-peek .promo-heading{height:50px}
  .promo-peek .promo-controls{height:32px}
  .promo-peek .promo-controls[hidden]{display:flex!important;visibility:hidden}
  .promo-peek .promo-pause[hidden]{display:block!important;visibility:hidden}
}
