html{scroll-padding-top:5rem}.grain{pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.grain.grain-over{opacity:.32}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.rise{animation:.9s cubic-bezier(.2,.7,.2,1) both rise;animation-delay:var(--rise-delay,0s)}@keyframes arrive{0%{opacity:0;transform:translateY(-18px)scale(.97)}}@keyframes drift{50%{transform:translateY(-5px)}}.arrive{animation:.8s cubic-bezier(.2,.8,.2,1) both arrive,7s ease-in-out 1.8s infinite drift;animation-delay:var(--arrive-delay,1s), calc(var(--arrive-delay,1s) + .8s)}@keyframes ping{0%{opacity:0;transform:scale(.45)}25%{opacity:1}to{opacity:0;transform:scale(1.15)}}.ping{animation:6s cubic-bezier(.25,.6,.35,1) infinite ping}.ping-late{animation-delay:3s}@keyframes stack-in{0%{opacity:0;transform:translateY(-14px)scale(.98)}}.stack-in{animation:.7s cubic-bezier(.2,.8,.2,1) both stack-in}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){@keyframes reveal{0%{opacity:0;transform:translateY(28px)}}.reveal{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 40%}}}@media (prefers-reduced-motion:reduce){.rise,.arrive,.stack-in{animation:none}.ping{opacity:.6;animation:none;transform:scale(.85)}.ping-late{display:none}}
