/* Shared motion: visible content first, animation as an enhancement. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:pageOut .2s ease both}
::view-transition-new(root){animation:pageIn .48s cubic-bezier(.2,.8,.2,1) both}
@keyframes pageOut{to{opacity:0;transform:translateY(-10px)}}
@keyframes pageIn{from{opacity:.2;transform:translateY(20px)}to{opacity:1;transform:none}}
.hero{isolation:isolate}.hero .hero-video{z-index:1;opacity:1!important}.hero .hero-slide{z-index:0}.hero::after{z-index:2}.hero .hero-content{z-index:3}.hero .search-panel{z-index:5}
.hero-slide.active{animation:scenicFallback 14s ease-in-out infinite alternate}
@keyframes scenicFallback{to{background-size:112% auto}}
.hero-content>.eyebrow,.mast .eyebrow{animation:copyArrive .6s both}.hero-content h1,.mast h1{animation:copyArrive .8s .06s both}.hero-content>p,.mast .wrap>p{animation:copyArrive .8s .15s both}.hero-caption,.mast-actions{animation:copyArrive .8s .24s both}.search-panel{animation:searchArrive .85s .25s both}
@keyframes copyArrive{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@keyframes searchArrive{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
a,button{-webkit-tap-highlight-color:transparent}.button,.region-tab,.chip,.tab,.choice,.language,.lang,.destination,.tile,.trip-card,.photo-link,.sailing-card{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.9,.2,1),box-shadow .28s,background .28s,border-color .28s}
a.tile:active,a.trip-card:active,a.photo-link:active,.destination:active,.button:active,.region-tab:active,.chip:active,.choice:active{transform:scale(.97)}
.motion-ripple{position:absolute;z-index:6;pointer-events:none;border-radius:50%;background:#f4c33888;transform:translate(-50%,-50%) scale(0);animation:clickWave .65s ease-out forwards;mix-blend-mode:screen}
@keyframes clickWave{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
.navlinks a{position:relative}.navlinks a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .24s}.navlinks a:hover:after,.navlinks a:focus-visible:after{transform:scaleX(1)}
.navlinks.open{animation:menuArrive .25s ease-out both}@keyframes menuArrive{from{opacity:.2;translate:0 -10px}to{opacity:1;translate:0 0}}
.dialog[open]{animation:detailArrive .4s cubic-bezier(.15,1,.3,1) both}.dialog[open]::backdrop{animation:backdropArrive .35s ease-out both}.dialog[open]>img{animation:detailImage .8s ease-out both}@keyframes detailArrive{from{opacity:0;transform:translateY(35px) scale(.94)}to{opacity:1;transform:none}}@keyframes backdropArrive{from{background-color:#061b3b00}to{background-color:#061b3ba8}}@keyframes detailImage{from{transform:scale(1.06)}to{transform:scale(1)}}
.motion-transition{position:fixed;inset:0;z-index:999;pointer-events:none;background:linear-gradient(130deg,#04162f,#0d3159);opacity:0;transition:opacity .18s}.motion-transition:after{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.page-leaving .motion-transition{opacity:1}.page-leaving .motion-transition:after{transform:scaleX(1)}
.motion-scroll{position:fixed;top:0;left:0;width:100%;height:3px;z-index:110;background:var(--gold);transform-origin:left;transform:scaleX(0);pointer-events:none}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ripple,.motion-transition{display:none}.hero .hero-video{opacity:1!important}}
