@keyframes soar-spin{to{transform:rotate(1turn)}}@keyframes rift-symbol-flip{0%{transform:perspective(200px) rotateY(0deg)}to{transform:perspective(200px) rotateY(1turn)}}.rift-symbol-flip{transform-origin:center;animation:rift-symbol-flip .65s ease-in-out .12s 1 both}@media (prefers-reduced-motion:reduce){.rift-symbol-flip{animation:none}}@keyframes soar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes soar-seat-map-surface-in{0%{opacity:0;transform:translateY(10px) scale(.985);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes soar-fade-in{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}@keyframes soar-cloud-drift{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.02)}}@keyframes soar-dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes soar-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes soar-dialog-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.95)}}@keyframes soar-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes soar-calendar-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes soar-calendar-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes soar-calendar-panel-in{0%{opacity:0;transform:translate3d(0,10px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes soar-calendar-panel-out{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(0,6px,0) scale(.99)}}@keyframes productNavUnderlineIn{0%{opacity:0;transform:scaleX(.5)}to{opacity:1;transform:scaleX(1)}}@keyframes productSearchIn{0%{opacity:0;filter:blur(5px);transform:translate3d(0,9px,0) scale(.985)}to{opacity:1;filter:blur(0);transform:translateZ(0) scale(1)}}@keyframes productSearchInFromRight{0%{opacity:0;transform:translate3d(18px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes productSearchInFromLeft{0%{opacity:0;transform:translate3d(-18px,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes productSlideFromRight{0%{transform:translate3d(18px,0,0)}to{transform:translateZ(0)}}@keyframes productSlideFromLeft{0%{transform:translate3d(-18px,0,0)}to{transform:translateZ(0)}}@keyframes productSearchActionsIn{0%{opacity:0;transform:translate3d(0,7px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes soar-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes soar-share-glyph-pop{0%{transform:scale(.62);opacity:0}to{transform:scale(1);opacity:1}}.soar-spin{animation:soar-spin .7s linear infinite}.soar-skeleton{background:linear-gradient(90deg,var(--color-n-100),var(--color-n-50),var(--color-n-100));background-size:200% 100%;animation:soar-shimmer 1.4s infinite}@keyframes soar-page-fade{0%{opacity:0}to{opacity:1}}@keyframes soar-page-sink{to{opacity:0;transform:translateY(6px) scale(.985)}}@keyframes soar-skel-pulse{0%,to{background:var(--color-n-50)}50%{background:var(--color-n-100)}}@keyframes soar-cursor-roam{0%{left:14%;top:16%;transform:scale(1)}12%{left:60%;top:24%;transform:scale(1)}15%{left:60%;top:24%;transform:scale(.8)}18%{left:60%;top:24%;transform:scale(1)}34%{left:28%;top:55%;transform:scale(1)}37%{left:28%;top:55%;transform:scale(.8)}40%{left:28%;top:55%;transform:scale(1)}58%{left:70%;top:60%;transform:scale(1)}61%{left:70%;top:60%;transform:scale(.8)}64%{left:70%;top:60%;transform:scale(1)}82%{left:44%;top:32%;transform:scale(1)}to{left:14%;top:16%;transform:scale(1)}}@keyframes valueSwapIn{0%{opacity:0;transform:translateY(5px);filter:blur(1.5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes heroGreetingBlurOut{0%{opacity:1;transform:translateY(0);filter:blur(0)}to{opacity:0;transform:translateY(-9px);filter:blur(12px)}}@keyframes heroGreetingBlurIn{0%{opacity:0;transform:translateY(8px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes fdBarBlurUp{0%{opacity:0;transform:translateY(18px);filter:blur(12px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes airportPickPulse{0%{transform:scale(1)}35%{transform:scale(1.012)}to{transform:scale(1)}}@keyframes airportRouteSwapValueOut{0%{filter:blur(0);opacity:1;transform:translateZ(0)}to{filter:blur(4px);opacity:0;transform:translate3d(var(--airport-route-swap-shift),0,0)}}@keyframes airportRouteSwapValueIn{0%{filter:blur(4px);opacity:0;transform:translate3d(var(--airport-route-swap-shift),0,0)}to{filter:blur(0);opacity:1;transform:translateZ(0)}}.search-row[data-route-swap-phase] .airport-field-origin .field-display{--airport-route-swap-shift:3px}.search-row[data-route-swap-phase] .airport-field-destination .field-display{--airport-route-swap-shift:-3px}.search-row[data-route-swap-phase=out] .field-display{animation:airportRouteSwapValueOut 55ms cubic-bezier(.4,0,1,1) both;will-change:filter,opacity,transform}.search-row[data-route-swap-phase=in] .field-display{animation:airportRouteSwapValueIn 105ms cubic-bezier(.16,1,.3,1) both;will-change:filter,opacity,transform}@media (prefers-reduced-motion:reduce){.search-row[data-route-swap-phase] .field-display{animation:none}}@keyframes multiCityHeroIn{0%{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes dashboardResultsRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes staysCompactSearchIn{0%{opacity:0;filter:blur(3px);transform:scale(.985)}to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes staysResultsMetaIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes staysResultsContentIn{0%{opacity:0;transform:scale(.992)}to{opacity:1;transform:none}}@keyframes staysResultsSectionIn{0%{opacity:0;filter:blur(3px);transform:translateY(14px) scale(.995)}to{opacity:1;filter:blur(0);transform:none}}@keyframes stayPaginationCardIn{0%{opacity:0;transform:translate3d(0,18px,0) scale(.985)}58%{opacity:1}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes staysHeroAutoplayProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stays-hero-autoplay-progress{animation-name:staysHeroAutoplayProgress;animation-timing-function:linear;animation-fill-mode:both;will-change:transform}@keyframes sl-phrase-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}:root[data-theme=dark] .sl-phrase{color:var(--color-fg)}.sl-phrase:after{position:absolute;inset:0;color:transparent;content:attr(data-text);pointer-events:none;background-image:linear-gradient(100deg,transparent 38%,color-mix(in srgb,white 78%,var(--color-blue-600)) 50%,transparent 62%);background-position:180% 0;background-size:250% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:sl-phrase-shimmer 1.4s linear infinite}:root[data-theme=dark] .sl-phrase:after{background-image:linear-gradient(100deg,transparent 34%,white 50%,transparent 66%);filter:drop-shadow(0 0 5px rgba(255,255,255,.88))}@keyframes sl-copy-swap{0%{opacity:0;filter:blur(3px);transform:translateY(4px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.sl-phrase-rotating{animation:sl-copy-swap .36s ease-out both}@media (prefers-reduced-motion:reduce){.sl-phrase-rotating{animation:none}.sl-phrase:after{display:none}}@keyframes ifpFriendIn{0%{opacity:0;transform:translateX(-6px) scale(.92);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}@keyframes ufPulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes ufCardIn{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ufCardFade{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.96) translateY(20px)}to{opacity:1;transform:none}}@keyframes bkCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes airportImmersiveFadeIn{0%{opacity:0}to{opacity:1}}@keyframes airportImmersiveFadeOut{0%{opacity:1}to{opacity:0}}@keyframes airportImmersiveFieldIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes airportImmersiveFieldOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.985)}}@keyframes tfClose{to{opacity:0}}@keyframes bookConfirmFadeOut{0%{opacity:1}to{opacity:0}}@keyframes bookConfirmPop{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}@keyframes bookingModalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes bookingModalBackdropOut{0%{opacity:1}to{opacity:0}}@keyframes bookingModalPanelIn{0%{opacity:0;transform:translate3d(0,10px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes bookingModalPanelOut{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:0;transform:translate3d(0,6px,0) scale(.985)}}@keyframes bookConfirmPageIn{0%{opacity:0;filter:blur(12px);transform:scale(1.015)}to{opacity:1;filter:blur(0);transform:none}}@keyframes bookConfirmPageOut{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(8px)}}@keyframes bcSubviewIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes bcDotPulse{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes bcCancelFadeIn{0%{opacity:0}to{opacity:.85}}@keyframes bcCheckPop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes bcCheckDraw{to{stroke-dashoffset:0}}@keyframes bcRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes payMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes payModalIn{0%{opacity:0;transform:translateY(8px) scale(.96);filter:blur(2px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes payFieldReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes walletPaySpin{to{transform:rotate(1turn)}}@keyframes fhDashMarch{to{stroke-dashoffset:-7}}@keyframes fhFly{0%{offset-distance:0;opacity:0}12%{opacity:1}88%{opacity:1}to{offset-distance:100%;opacity:0}}.soar-fh-plane{display:none}@supports (offset-path:path("M0 0 L1 1")){.soar-fh-plane{display:block;offset-rotate:auto 90deg;animation:fhFly 3.8s ease-in-out infinite}}@media (prefers-reduced-motion:reduce){.soar-fh-plane{animation:none}}@keyframes logo-plane-loop{0%{transform:translateZ(0) rotate(0deg);opacity:1;animation-timing-function:cubic-bezier(.45,0,.75,.35)}50%{transform:translate3d(190px,-86px,0) rotate(-16deg);opacity:1}51%{transform:translate3d(-72px,30px,0) rotate(-16deg);opacity:0}52%{transform:translate3d(-72px,30px,0) rotate(-16deg);opacity:1;animation-timing-function:cubic-bezier(.04,.88,.16,1)}to{transform:translateZ(0) rotate(0deg);opacity:1}}