/* The sea gets its own headline show. Scoped to the cruise opening. */
.cruise-opening.page-mast{padding:35px 20px 0;min-height:920px;min-height:max(860px,calc(100svh - 92px));display:flex;flex-direction:column;position:relative;isolation:isolate;background:#082331;overflow:hidden;border-bottom:1px solid #c5ebff55}
.cruise-opening.page-mast:before,.cruise-opening.page-mast:after{display:none}
.cruise-ocean{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:65% 48%;filter:saturate(1.15);transform:scale(1.035);will-change:transform}
.cruise-opening:has(.cruise-ocean){background:none}
.cruise-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#03131ee8 0%,#041c29a8 40%,#041c2920 76%),linear-gradient(0deg,#06141ff5 0%,#06141f66 24%,transparent 60%,#041b2c66)}
.cruise-sun{position:absolute;z-index:-1;inset:-35% -15% 0 30%;pointer-events:none;background:conic-gradient(from 160deg at 65% 0%,transparent 0deg,#defaff26 12deg,transparent 25deg,#a5efff1a 34deg,transparent 46deg);transform-origin:65% 0;opacity:.65}
.cruise-opening .page-crumb{margin-bottom:30px;color:#b4d5e5;position:relative;z-index:2}
.cruise-billing{display:flex;align-items:center;gap:20px;color:#d0e8f2;font-size:10px;text-transform:uppercase;letter-spacing:.2em}
.cruise-billing img{width:145px;height:43px;object-fit:contain;filter:brightness(0) invert(1)}
.cruise-billing .times{font-size:21px;font-weight:200;color:#98b9ce}
.cruise-copy{position:relative;z-index:1;padding-top:40px;padding-bottom:55px;max-width:1000px}
.cruise-opening.page-mast h1{font-size:clamp(82px,8.6vw,165px);line-height:.88;letter-spacing:-.025em;margin:24px 0 28px;overflow-wrap:normal}
.cruise-opening h1 span{display:block}.cruise-opening h1 .sea-outline{color:transparent;-webkit-text-stroke:1px #e3f8ffcc;background:linear-gradient(110deg,transparent 30%,#d5f5ff44 49%,transparent 65%);background-clip:text;-webkit-background-clip:text;background-size:220% 100%}
.cruise-opening.page-mast .lead{font-size:clamp(14px,1.15vw,18px);max-width:440px;color:#d2e3eb;line-height:1.8}
.cruise-opening .page-actions{margin-top:28px;gap:25px}.cruise-opening .button{background:#f9fbfd;color:#071723;padding-inline:28px;box-shadow:0 10px 50px #0003}.cruise-opening .text-link{color:#effbff;border-bottom:1px solid #c3e9f880;padding-inline:0}
.cruise-vibe{display:flex;gap:22px;flex-wrap:wrap;color:#b9d7e7;font-size:8px;letter-spacing:.15em;text-transform:uppercase;margin-top:35px}.cruise-vibe span:before{content:'✦';color:#d1f4ff;margin-right:9px}
.cruise-host{position:absolute;right:35px;bottom:205px;width:225px;z-index:1;transform:rotate(3deg);border:1px solid #e1f4ff70;padding:8px;background:#0923337a;backdrop-filter:blur(10px);box-shadow:0 20px 70px #0005}
.cruise-host img{display:block;width:100%;height:225px;object-fit:cover;object-position:50% 25%}.cruise-host div{padding:14px 7px 8px}.cruise-host small{display:block;font-size:7px;letter-spacing:.16em;color:#b2d7ec;text-transform:uppercase}.cruise-host strong{display:block;font-family:var(--display);font-size:36px;line-height:1.1;text-transform:uppercase;margin-top:7px}
.cruise-destinations{margin-top:auto;position:relative;z-index:2;display:grid;grid-template-columns:.7fr 1fr 1fr;gap:0;border-top:1px solid #d5efff55;padding-block:25px}
.cruise-destinations:before{content:'';position:absolute;top:-1px;left:-20px;right:-20px;height:1px;background:#d5efff45}
.cruise-destinations .departure-note{display:flex;flex-direction:column;justify-content:center;gap:12px;font-size:8px;letter-spacing:.18em;color:#b0d2e6;text-transform:uppercase}.departure-note b{font-family:var(--display);font-size:32px;font-weight:600;letter-spacing:0;color:#fff}
.cruise-departure{padding:8px 25px;border-left:1px solid #c6eaff35;display:grid;grid-template-columns:1fr auto;gap:10px;text-decoration:none;transition:background .3s}
.cruise-departure small{grid-column:1/-1;font-size:8px;color:#b9d6e6;letter-spacing:.13em;text-transform:uppercase}.cruise-departure strong{font-size:clamp(18px,1.6vw,28px);letter-spacing:-.03em;font-weight:500}.cruise-departure .departure-arrow{font-size:25px;color:#d4f3ff;transition:transform .35s}.cruise-departure:hover{background:#c4edff0a}.cruise-departure:hover .departure-arrow{transform:translate(3px,-3px)}
.motion-on .cruise-opening.page-scene-active .cruise-ocean{animation:cruise-ocean-drift 24s ease-in-out infinite alternate}.motion-on .cruise-opening.page-scene-active .cruise-sun{animation:cruise-sun-sweep 15s ease-in-out infinite alternate}.motion-on .cruise-opening.page-scene-active .sea-outline{animation:sea-word-glint 8s ease-in-out infinite alternate}.motion-on .cruise-opening.page-scene-active .cruise-host{animation:host-at-sea 9s ease-in-out infinite alternate}
@keyframes cruise-ocean-drift{from{transform:scale(1.035) translate3d(0,0,0)}to{transform:scale(1.085) translate3d(-1%,.5%,0)}}
@keyframes cruise-sun-sweep{from{transform:rotate(-8deg);opacity:.4}to{transform:rotate(13deg);opacity:.8}}
@keyframes sea-word-glint{from{background-position:100% 0}to{background-position:-70% 0}}
@keyframes host-at-sea{from{transform:translateY(0) rotate(3deg)}to{transform:translateY(-9px) rotate(1.5deg)}}
@media(max-width:1100px){.cruise-host{width:175px;right:20px;bottom:210px}.cruise-host img{height:175px}.cruise-host strong{font-size:30px}.cruise-copy{max-width:780px}.cruise-opening.page-mast h1{font-size:clamp(86px,10vw,135px)}.cruise-destinations{grid-template-columns:.6fr 1fr 1fr}.cruise-departure{padding-inline:18px}}
@media(max-width:760px){.cruise-opening.page-mast{padding-top:26px;min-height:990px}.cruise-opening .page-crumb{margin-bottom:28px}.cruise-billing{gap:13px;font-size:8px;letter-spacing:.1em}.cruise-billing img{width:115px;height:30px}.cruise-copy{padding-top:30px;padding-bottom:32px}.cruise-opening.page-mast h1{font-size:clamp(66px,14.4vw,108px);margin-top:20px;margin-bottom:24px;line-height:.94}.cruise-opening.page-mast .lead{font-size:14px;max-width:350px}.cruise-opening .page-actions{gap:18px;align-items:start;flex-direction:column}.cruise-opening .page-actions .button{padding-inline:23px}.cruise-vibe{gap:10px 17px;margin-top:25px;font-size:7px}.cruise-host{display:none}.cruise-ocean{object-position:67% center}.cruise-shade{background:linear-gradient(90deg,#03131ed9,#041c2966),linear-gradient(0deg,#06141f,transparent 70%)}.cruise-destinations{grid-template-columns:1fr;padding-block:21px;gap:16px}.cruise-destinations .departure-note{flex-direction:row;align-items:center;justify-content:space-between;gap:15px}.departure-note b{font-size:27px}.cruise-departure{padding:18px 0 0;border-left:0;border-top:1px solid #c6eaff35;gap:9px}.cruise-departure strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){.cruise-opening .cruise-ocean,.cruise-opening .cruise-sun,.cruise-opening .sea-outline,.cruise-opening .cruise-host{animation:none!important}.cruise-departure,.departure-arrow{transition:none!important}}
.motion-off .cruise-opening .cruise-ocean,.motion-off .cruise-opening .cruise-sun,.motion-off .cruise-opening .sea-outline,.motion-off .cruise-opening .cruise-host{animation:none!important}
/* More life at sea, retaining the original composition and photography. */
.cruise-opening.page-mast{padding-top:38px}
.cruise-copy{padding-top:30px}
.cruise-sea-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 82% 54%,#9efaff2b,transparent 37%),linear-gradient(112deg,transparent 40%,#e1ffff12 48%,transparent 56%);mix-blend-mode:screen;opacity:.6;transform:translateX(-6%)}
.cruise-horizon{position:absolute;bottom:15%;left:-15%;width:130%;height:30%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,#99ebff15,transparent 65%);transform:translate3d(-4%,0,0)}
.motion-on .cruise-opening.page-scene-active .cruise-sea-glow{animation:sea-light-drift 10s ease-in-out infinite alternate}
.motion-on .cruise-opening.page-scene-active .cruise-horizon{animation:sea-horizon-drift 13s ease-in-out infinite alternate}
.motion-on .cruise-opening.page-scene-active .cruise-ocean{animation:cruise-ocean-drift 19s ease-in-out infinite alternate}
.motion-on .cruise-opening.page-scene-active .cruise-sun{animation:cruise-sun-sweep 11s ease-in-out infinite alternate}
@keyframes sea-light-drift{from{transform:translate3d(-6%,0,0);opacity:.3}to{transform:translate3d(6%,-2%,0);opacity:.85}}
@keyframes sea-horizon-drift{from{transform:translate3d(-4%,0,0)}to{transform:translate3d(4%,-5%,0)}}
.cruise-departure{position:relative;isolation:isolate;overflow:hidden}
.cruise-departure:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#b9f1ff10 50%,transparent 75%);transform:translateX(-100%)}
.motion-on .cruise-opening.page-scene-active .cruise-departure:before{animation:departure-glimmer 7s ease-in-out infinite}
.motion-on .cruise-opening.page-scene-active .cruise-departure:last-child:before{animation-delay:2.5s}
@keyframes departure-glimmer{0%,20%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@media(max-width:760px){.cruise-opening.page-mast{padding-top:32px;min-height:930px}.cruise-copy{padding-top:28px}}
@media(prefers-reduced-motion:reduce){.cruise-sea-glow,.cruise-horizon,.cruise-departure:before{animation:none!important}}
.motion-off .cruise-sea-glow,.motion-off .cruise-horizon,.motion-off .cruise-departure:before{animation:none!important}
/* Match the homepage's transparent beam-and-strobe lettering. */
.cruise-opening h1 .sea-outline{
 color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #edf8ffe6;
 background-image:linear-gradient(112deg,transparent 39%,#91d8ff38 43%,#f3fbffb3 47%,#ffffffc2 49%,#9bdfff40 52%,transparent 57%),linear-gradient(68deg,transparent 36%,#9bd8ff38 42%,#ffffffa6 46%,#c6eaff66 49%,transparent 55%),linear-gradient(97deg,transparent 44%,#d5f1ff80 48%,transparent 52%);
 background-size:240% 100%,260% 100%,320% 100%;background-position:110% 0,-10% 0,100% 0;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;
}
.motion-on .cruise-opening.page-scene-active .sea-outline{animation:hero-name-beams 7s linear infinite,hero-name-strobe 4s linear infinite}
@media(prefers-reduced-motion:reduce){.cruise-opening .sea-outline{animation:none!important;filter:none!important}}
.motion-off .cruise-opening .sea-outline{animation:none!important;filter:none!important}
/* Preserve the sharper ship detail while retaining the ocean movement. */
@keyframes cruise-ocean-drift{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.045) translate3d(-.5%,.3%,0)}}
