:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}@keyframes hero-settle{0%{filter:blur(6px)saturate(.8);transform:scale(1.06)}to{filter:blur()saturate();transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}.motion-hero-image{animation:hero-settle 1.6s var(--ease-out) both}.motion-rise{animation:rise .9s var(--ease-out) both;animation-delay:var(--delay,0s)}@keyframes fade-in{0%{opacity:0}}@keyframes sweep{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.motion-fade-in{animation:fade-in .45s var(--ease-out) both}.motion-sweep{animation:sweep .6s var(--ease-out) var(--delay,0s) both}::view-transition-group(.morph){animation-duration:.45s;animation-timing-function:var(--ease-out)}::view-transition-image-pair(.morph){animation-name:via-blur}@keyframes via-blur{35%{filter:blur(3px)}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.motion-bump{animation:bump .45s var(--ease-out)}@keyframes added-in{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}.motion-added{animation:added-in .3s var(--ease-out) both}@supports (animation-timeline:view()){@keyframes reveal{0%{clip-path:inset(10% 6% 10% 6% round var(--radius));transform:scale(1.04)}to{clip-path:inset(0 0 0 0 round var(--radius));transform:scale(1)}}.motion-reveal{animation:linear both reveal;animation-timeline:view();animation-range:entry cover 35%}@keyframes header-settle{to{box-shadow:0 1px 2px rgb(var(--shadow-color) / .04), 0 6px 16px -10px rgb(var(--shadow-color) / .14)}}@keyframes logo-settle{to{transform:scale(.86)}}.motion-header{animation:linear both header-settle;animation-timeline:scroll();animation-range:0 120px}.motion-logo{transform-origin:50%;animation:linear both logo-settle;animation-timeline:scroll();animation-range:0 120px}}.motion-underline{transition:background-size .35s var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1.5px;padding-bottom:.2em}.motion-underline:hover,:hover>.motion-underline,:focus-visible>.motion-underline,[data-popup-open]>.motion-underline,[aria-current=page]>.motion-underline,[data-current]>.motion-underline{background-size:100% 1.5px}@supports (animation-timeline:view()){@keyframes parallax{to{transform:translateY(14%)}}@keyframes lift-away{to{opacity:.15;transform:translateY(-3rem)}}.motion-parallax{animation:linear both parallax;animation-timeline:scroll();animation-range:0 100vh}.motion-lift{animation:linear both lift-away;animation-timeline:scroll();animation-range:0 70vh}@keyframes heading-in{0%{transform:translateY(2rem)}}.motion-heading{animation:linear both heading-in;animation-timeline:view();animation-range:entry entry 90%}@keyframes ink-fill{0%{background-position:100% 0}to{background-position:0 0}}.motion-ink{background-image:linear-gradient(90deg, var(--foreground) 50%, var(--muted-foreground) 50%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:linear both ink-fill;animation-timeline:view();animation-range:cover 15% cover 55%}@keyframes curtain{0%{clip-path:inset(16% 12% 16% 12% round calc(var(--radius) * 3))}to{clip-path:inset(0 0 0 0 round var(--radius))}}@keyframes settle-zoom{0%{transform:scale(1.25)translateY(-5%)}to{transform:scale(1.06)translateY(4%)}}.motion-curtain{animation:linear both curtain;animation-timeline:view();animation-range:entry 5% cover 45%}.motion-settle{animation:linear both settle-zoom;animation-timeline:view();animation-range:entry exit}@keyframes turn{to{transform:rotate(320deg)}}.motion-turn{animation:linear both turn;animation-timeline:view();animation-range:entry exit}@keyframes line-up{0%{transform:translateY(105%)}}.motion-lines>span>span{animation:linear both line-up;animation-timeline:view();animation-range:entry calc(20% + var(--line,0) * 12%) cover calc(32% + var(--line,0) * 6%);display:block}}@media (prefers-reduced-motion:reduce){.motion-hero-image,.motion-rise,.motion-fade-in,.motion-sweep,.motion-bump,.motion-added,.motion-reveal,.motion-curtain,.motion-settle,.motion-turn,.motion-lines>span>span,.motion-header,.motion-logo,.motion-parallax,.motion-lift,.motion-heading{animation:none!important}.motion-ink{color:inherit;background:0 0;animation:none!important}.motion-underline{transition:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@keyframes fly-in{0%{transform:translate3d(0, 38%, 0) rotate(var(--tilt-from,-24deg)) scale(.86);opacity:0}}@keyframes fly-out{to{opacity:0;transform:translate(-30%,-24%)rotate(-36deg)scale(.8)}}@keyframes bob{50%{transform:translate3d(0, -10px, 0) rotate(var(--bob-tilt,0deg))}}@keyframes card-in{0%{transform:translate3d(0, 2.5rem, 0) rotate(var(--card-tilt,0deg)) scale(.94);opacity:0}}.motion-fly-in{animation:fly-in .8s var(--ease-out) var(--delay,0s) both}.motion-fly-out{animation:fly-out .55s var(--ease-in-out) both}.motion-bob{animation:bob var(--bob,6s) var(--ease-in-out) var(--bob-delay,0s) infinite}.motion-card-in{animation:card-in .7s var(--ease-out) var(--delay,0s) both}.motion-tile-in{animation:card-in .45s var(--ease-out) calc(var(--i,0) * 60ms) both}@supports (animation-timeline:view()){@keyframes panel-settle{to{border-radius:3.5rem;transform:scale(.94)}}.motion-panel{transform-origin:50% 0;animation:linear both panel-settle;animation-timeline:view();animation-range:exit exit 70%}@keyframes rise-in{0%{transform:translate3d(0, var(--rise,4rem), 0) scale(var(--rise-scale,1)) rotate(var(--rise-tilt,0deg))}}.motion-rise-in{animation:linear both rise-in;animation-timeline:view();animation-range:entry entry 80%}@keyframes track-slide{to{transform:translate3d(var(--track-end,-66.666%), 0, 0)}}@media (min-width:64rem){.motion-track{animation:linear both track-slide;animation-timeline:--pin;animation-range:contain}}.motion-pin{view-timeline-name:--pin}}@media (prefers-reduced-motion:reduce){.motion-fly-in,.motion-fly-out,.motion-bob,.motion-card-in,.motion-tile-in,.motion-panel,.motion-rise-in,.motion-track{animation:none!important}.motion-fly-out{display:none}}.pin-track{flex-direction:column;gap:1.5rem;display:flex}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference) and (min-width:64rem){.motion-pin{height:340vh}.pin-stage{align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.pin-track{flex-direction:row;gap:2rem;width:max-content;padding-inline:6vw}}}
