@keyframes soar-spin{to{transform:rotate(360deg)}}@keyframes soar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes soar-fade-in{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur()}}@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 productNavUnderlineIn{0%{opacity:0;transform:scaleX(.5)}to{opacity:1;transform:scaleX(1)}}@keyframes productSearchIn{0%{opacity:0;filter:blur(5px);transform:translateY(9px)scale(.985)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes productSearchInFromRight{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0,0)}}@keyframes productSearchInFromLeft{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0,0)}}@keyframes productSlideFromRight{0%{transform:translate(18px)}to{transform:translate(0,0)}}@keyframes productSlideFromLeft{0%{transform:translate(-18px)}to{transform:translate(0,0)}}@keyframes productSearchActionsIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translate(0,0)}}@keyframes soar-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes soar-share-glyph-pop{0%{opacity:0;transform:scale(.62)}to{opacity:1;transform:scale(1)}}.soar-spin{animation:.7s linear infinite soar-spin}.soar-skeleton{background:linear-gradient(90deg, var(--color-n-100), var(--color-n-50), var(--color-n-100));background-size:200% 100%;animation:1.4s infinite soar-shimmer}@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%{top:16%;left:14%;transform:scale(1)}12%{top:24%;left:60%;transform:scale(1)}15%{top:24%;left:60%;transform:scale(.8)}18%{top:24%;left:60%;transform:scale(1)}34%{top:55%;left:28%;transform:scale(1)}37%{top:55%;left:28%;transform:scale(.8)}40%{top:55%;left:28%;transform:scale(1)}58%{top:60%;left:70%;transform:scale(1)}61%{top:60%;left:70%;transform:scale(.8)}64%{top:60%;left:70%;transform:scale(1)}82%{top:32%;left:44%;transform:scale(1)}to{top:16%;left:14%;transform:scale(1)}}@keyframes valueSwapIn{0%{opacity:0;filter:blur(1.5px);transform:translateY(5px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes heroGreetingBlurOut{0%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur(12px);transform:translateY(-9px)}}@keyframes heroGreetingBlurIn{0%{opacity:0;filter:blur(3px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes fdBarBlurUp{0%{opacity:0;filter:blur(12px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes airportPickPulse{0%{transform:scale(1)}35%{transform:scale(1.012)}to{transform:scale(1)}}@keyframes multiCityRowIn{0%{opacity:0;max-height:0;transform:translateY(-6px)scale(.985)}to{opacity:1;max-height:420px;transform:translateY(0)scale(1)}}@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();transform:scale(1)}}@keyframes staysResultsMetaIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes staysResultsContentIn{0%{opacity:0}to{opacity:1}}@keyframes staysResultsTopDownReveal{0%{opacity:1;transform:translateY(-140px)}82%{opacity:1}to{opacity:0;transform:translateY(100dvh)}}.stays-results-curtain{inset-inline:0;top:var(--dashboard-results-padding-top,128px);z-index:20;pointer-events:none;background:var(--color-n-0);height:calc(100dvh + 160px);animation:.95s cubic-bezier(.4,0,.2,1) 60ms both staysResultsTopDownReveal;position:absolute;-webkit-mask-image:linear-gradient(#0000 0,#000 140px);mask-image:linear-gradient(#0000 0,#000 140px)}@media (prefers-reduced-motion:reduce){.stays-results-curtain{display:none}}@media (max-width:820px){.stays-results-curtain{top:90px}}@keyframes staysResultsSectionIn{0%{opacity:0;filter:blur(3px);transform:translateY(14px)scale(.995)}to{opacity:1;filter:blur();transform:none}}@keyframes staysHeroAutoplayProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stays-hero-autoplay-progress{will-change:transform;animation-name:staysHeroAutoplayProgress;animation-timing-function:linear;animation-fill-mode:both}@keyframes sl-phrase-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}.sl-phrase:after{color:#0000;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%);-webkit-text-fill-color:transparent;background-position:180% 0;background-repeat:no-repeat;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:1.4s linear infinite sl-phrase-shimmer;position:absolute;inset:0}@keyframes sl-copy-swap{0%{opacity:0;filter:blur(3px);transform:translateY(4px)}to{opacity:1;filter:blur();transform:translateY(0)}}.sl-phrase-rotating{animation:.36s ease-out both sl-copy-swap}@media (prefers-reduced-motion:reduce){.sl-phrase-rotating{animation:none}.sl-phrase:after{display:none}}@keyframes ifpFriendIn{0%{opacity:0;filter:blur(2px);transform:translate(-6px)scale(.92)}to{opacity:1;filter:none;transform: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:translateY(10px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes bookingModalPanelOut{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translateY(6px)scale(.985)}}@keyframes bookConfirmPageIn{0%{opacity:0;filter:blur(12px);transform:scale(1.015)}to{opacity:1;filter:blur();transform:none}}@keyframes bookConfirmPageOut{0%{opacity:1;filter:blur()}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%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(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;filter:blur(2px);transform:translateY(8px)scale(.96)}60%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:none}}@keyframes payFieldReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes walletPaySpin{to{transform:rotate(360deg)}}@keyframes fhDashMarch{to{stroke-dashoffset:-7px}}@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{offset-rotate:auto 90deg;animation:3.8s ease-in-out infinite fhFly;display:block}}@media (prefers-reduced-motion:reduce){.soar-fh-plane{animation:none}}@keyframes logo-plane-loop{0%{opacity:1;animation-timing-function:cubic-bezier(.45,0,.75,.35);transform:translate(0,0)rotate(0)}50%{opacity:1;transform:translate(190px,-86px)rotate(-16deg)}51%{opacity:0;transform:translate(-72px,30px)rotate(-16deg)}52%{opacity:1;animation-timing-function:cubic-bezier(.04,.88,.16,1);transform:translate(-72px,30px)rotate(-16deg)}to{opacity:1;transform:translate(0,0)rotate(0)}}
.soar-odo{--oh:44px;height:var(--oh);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600;line-height:var(--oh);color:var(--color-fg);letter-spacing:-.02em;align-items:center;display:inline-flex}.soar-odo .soar-odo-d{width:.62em;height:var(--oh);display:inline-block;overflow:hidden}.soar-odo .soar-odo-d ul{margin:0;padding:0;list-style:none;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.soar-odo .soar-odo-d li{height:var(--oh);justify-content:center;align-items:center;display:flex}.soar-odo .soar-odo-sep{text-align:center;display:inline-block}
