body{background-color:#ecebe7;color:#2f3237;-webkit-font-smoothing:antialiased;overflow-x:hidden}:root{--fm-ease: cubic-bezier(.4, 0, .2, 1);--fm-dur-page: .5s;--fm-dur-section: .45s;--fm-dur-content: .35s;--fm-dur-hover: .18s}.fm-page{animation:fm-page-in var(--fm-dur-page) var(--fm-ease) forwards}.fm-section{transition:opacity var(--fm-dur-section) var(--fm-ease)}.fm-section.is-hidden{opacity:0}.fm-content{opacity:0;transform:translateY(6px);animation:fm-content-in var(--fm-dur-content) var(--fm-ease) forwards}.fm-hover{transition:opacity var(--fm-dur-hover) var(--fm-ease)}.fm-hover:hover{opacity:.82}.bg-grain{position:fixed;top:-50%;left:-50%;width:200%;height:200%;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");pointer-events:none;z-index:50;animation:grain 8s steps(10) infinite;opacity:.4}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d6d7d4;border-radius:3px}.text-balance{text-wrap:balance}@keyframes driftFade{0%{transform:translate(-50%,-50%) translate(var(--dx-start, 0),var(--dy-start, 0)) scale(var(--base-scale, 1));opacity:.18}to{transform:translate(-50%,-50%) translate(var(--dx-end, 6vw),var(--dy-end, 4vh)) scale(var(--base-scale, 1));opacity:.26}}@keyframes fm-page-in{0%{opacity:0}to{opacity:1}}@keyframes fm-content-in{to{opacity:1;transform:translateY(0)}}
