@keyframes ff-glow-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.06)}}@keyframes ff-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ff-shimmer{0%{background-position:200%}to{background-position:-200%}}@keyframes ff-slide-up-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes ff-carousel-enter{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.ff-homepage-glow{animation:6s ease-in-out infinite ff-glow-pulse}.ff-homepage-float{animation:5s ease-in-out infinite ff-float}.ff-homepage-shimmer{background-size:200%;animation:4s linear infinite ff-shimmer}.ff-device-stage{perspective:1400px;perspective-origin:50% 40%}.ff-device-frame{transform-style:preserve-3d;will-change:transform;transition:transform .7s cubic-bezier(.22,1,.36,1),box-shadow .7s;transform:rotateX(10deg)rotateY(-14deg)rotate(.5deg)}.ff-device-frame:hover,.ff-device-frame:focus-within{transform:rotateX(4deg)rotateY(-6deg)scale(1.015)}.ff-device-frame[data-ff-parallax]{transition:transform .15s linear}.ff-carousel-slide{animation:.55s cubic-bezier(.22,1,.36,1) both ff-carousel-enter}.ff-story-chapter{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(40px)scale(.98)}.ff-story-chapter.ff-in-view{opacity:1;transform:translateY(0)scale(1)}.ff-story-icon-wrap{transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .6s}.ff-story-chapter:not(.ff-in-view) .ff-story-icon-wrap{opacity:.35;transform:translateY(24px)scale(.85)}.ff-story-chapter.ff-in-view .ff-story-icon-wrap{opacity:1;transform:translateY(0)scale(1)}.ff-bullet{transition:width .35s,background-color .35s,box-shadow .35s}.ff-bullet[aria-current=true]{box-shadow:0 0 20px color-mix(in srgb, var(--accent) 55%, transparent)}.ff-parallax-orb{will-change:transform;transition:transform .12s linear}@media (prefers-reduced-motion:reduce){.ff-homepage-glow,.ff-homepage-float,.ff-homepage-shimmer,.ff-carousel-slide{animation:none}.ff-device-frame,.ff-device-frame:hover,.ff-device-frame:focus-within,.ff-parallax-orb,.ff-device-frame[data-ff-parallax]{transition:none;transform:none}.ff-story-chapter,.ff-story-chapter:not(.ff-in-view) .ff-story-icon-wrap,.ff-story-chapter.ff-in-view .ff-story-icon-wrap{opacity:1;transform:none}}
