.fp-scene{view-timeline-name:--fp-scene;view-timeline-axis:block;position:relative}.fp-stage{height:100svh;position:sticky;top:0;overflow:hidden}.fp-anim{animation-duration:1s;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--fp-scene;animation-range:contain}@supports not (animation-timeline:view()){.fp-anim{animation-play-state:paused;animation-delay:calc(var(--p,0) * -1s)}}.fp-rise{animation:linear both fp-rise;animation-timeline:view();animation-range:entry entry 60%}@supports not (animation-timeline:view()){.fp-rise{animation:none}}@keyframes fp-rise{0%{opacity:0;filter:blur(6px);transform:translateY(2.5rem)scale(.98)}}.fp-drift-up{animation:60s linear infinite fp-drift}.fp-drift-down{animation:70s linear infinite reverse fp-drift}@keyframes fp-drift{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.fp-beat-1{animation-name:fp-beat-1}.fp-beat-2{animation-name:fp-beat-2}.fp-beat-3{animation-name:fp-beat-3}@keyframes fp-beat-1{0%,26%{opacity:1;transform:none}34%,to{opacity:0;transform:translateY(-2rem)scale(.96)}}@keyframes fp-beat-2{0%,26%{opacity:0;transform:translateY(2rem)scale(.96)}34%,60%{opacity:1;transform:none}68%,to{opacity:0;transform:translateY(-2rem)scale(.96)}}@keyframes fp-beat-3{0%,60%{opacity:0;transform:translateY(2rem)scale(.96)}68%,to{opacity:1;transform:none}}.fp-found{animation-name:fp-found}@keyframes fp-found{0%,38%{box-shadow:none;transform:none}52%,to{transform:scale(1.08)}}.fp-booked{animation-name:fp-booked}@keyframes fp-booked{0%,74%{opacity:0;transform:translate(2rem)scale(.9)}84%,to{opacity:1;transform:none}}.fp-tap{animation-name:fp-tap}@keyframes fp-tap{0%,68%{transform:none}72%{transform:scale(.92)}76%,to{transform:none}}.fp-dot-1{animation-name:fp-dot-1}.fp-dot-2{animation-name:fp-dot-2}.fp-dot-3{animation-name:fp-dot-3}@keyframes fp-dot-1{0%,30%{opacity:1}34%,to{opacity:.25}}@keyframes fp-dot-2{0%,30%{opacity:.25}34%,64%{opacity:1}68%,to{opacity:.25}}@keyframes fp-dot-3{0%,64%{opacity:.25}68%,to{opacity:1}}.fp-v{animation-duration:auto;animation-timing-function:cubic-bezier(.2,.7,.2,1);animation-fill-mode:both;animation-timeline:view();animation-range:entry calc(10% + var(--d,0%)) cover calc(42% + var(--d,0%))}@supports not (animation-timeline:view()){.fp-v{animation:none!important}}.fp-up{animation-name:fp-up}.fp-left{animation-name:fp-left}.fp-right{animation-name:fp-right}.fp-pop{animation-name:fp-pop}.fp-drop{animation-name:fp-drop}.fp-grow-x{transform-origin:0;animation-name:fp-grow-x}.fp-grow-y{transform-origin:top;animation-name:fp-grow-y}.fp-type{animation-name:fp-type}.fp-flip{animation-name:fp-flip}.fp-tilt{animation-name:fp-tilt;animation-range:entry cover 50%}.fp-draw{stroke-dasharray:400;animation-name:fp-draw}.fp-fill{animation-name:fp-fill}@keyframes fp-up{0%{opacity:0;transform:translateY(3rem)}}@keyframes fp-left{0%{opacity:0;transform:translate(-3rem)}}@keyframes fp-right{0%{opacity:0;transform:translate(3rem)}}@keyframes fp-pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.06)}}@keyframes fp-drop{0%{opacity:0;transform:translateY(-2.5rem)}}@keyframes fp-grow-x{0%{transform:scaleX(0)}}@keyframes fp-grow-y{0%{opacity:0;transform:scaleY(.2)}}@keyframes fp-type{0%{clip-path:inset(0 100% 0 0)}}@keyframes fp-flip{0%{opacity:.3;transform:rotateY(-75deg)rotateX(20deg)translateY(2rem)}}@keyframes fp-tilt{0%{opacity:.4;transform:perspective(1200px)rotateX(18deg)scale(.92)}}@keyframes fp-draw{0%{stroke-dashoffset:400px}to{stroke-dashoffset:0}}@keyframes fp-fill{0%{background-color:var(--surface-soft);color:var(--ink)}}@property --fp-n{syntax:"<integer>";inherits:false;initial-value:0}.fp-count{--fp-n:var(--to);counter-reset:fp-n var(--fp-n)}.fp-count:after{content:counter(fp-n)}.fp-count.fp-v{animation-name:fp-count}@keyframes fp-count{0%{--fp-n:0}to{--fp-n:var(--to)}}.fp-hero-out{animation:linear both fp-hero-out;animation-timeline:view();animation-range:exit exit 80%}@keyframes fp-hero-out{to{opacity:0;filter:blur(4px);transform:translateY(-12%)scale(.94)}}.fp-grow{animation:linear both fp-grow;animation-timeline:view();animation-range:entry cover 45%}@keyframes fp-grow{0%{opacity:0;letter-spacing:.04em;transform:scale(.8)}}@supports not (animation-timeline:view()){.fp-hero-out,.fp-grow{animation:none}}[data-home]{--fp-hero-tint:color-mix(in oklab, var(--bg) 88%, var(--brand))}.fp-hero{background:linear-gradient(to bottom, var(--bg) 35%, var(--fp-hero-tint))}.fp-hero-backdrop{-webkit-mask-image:linear-gradient(#000 45%,#0000 92%);mask-image:linear-gradient(#000 45%,#0000 92%)}.fp-hero-trail{z-index:-1;background:linear-gradient(to bottom, var(--fp-hero-tint), transparent);pointer-events:none;height:70svh;position:absolute;inset:0 0 auto}.fp-soft-glow{background:radial-gradient(closest-side, color-mix(in oklab, var(--brand) 20%, transparent), transparent)}.fp-closing-glow{background:radial-gradient(ellipse 55% 50% at 50% 50%, color-mix(in oklab, var(--brand) 22%, transparent), transparent)}.fp-tone-layer{z-index:-1;background-color:var(--bg);transition:background-color .9s;position:fixed;inset:0}.fp-tone-base{background-color:var(--bg)}.fp-tone-cream{background-color:color-mix(in oklab, var(--bg) 93%, #ff9e7a)}.fp-tone-blush{background-color:color-mix(in oklab, var(--bg) 89%, var(--brand))}.fp-tone-sand{background-color:color-mix(in oklab, var(--bg) 91%, #c9a27e)}.fp-tone-mist{background-color:color-mix(in oklab, var(--bg) 92%, #8a8fb8)}[data-for=solo] .fp-team-only,[data-for=team] .fp-solo-only{display:none}@media (prefers-reduced-motion:reduce){.fp-anim,.fp-rise,.fp-v,.fp-hero-out,.fp-grow,.fp-drift-up,.fp-drift-down{animation:none!important}.fp-scene{height:auto!important}.fp-stage{height:auto;position:static;overflow:visible}.fp-beats{flex-direction:column;gap:4rem;display:flex!important}.fp-beats>*{opacity:1!important;position:static!important;transform:none!important}.fp-dots{display:none}}
