html{scroll-behavior:smooth;scrollbar-gutter:stable}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}.fade-up{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(20px)}.fade-up.visible{opacity:1;transform:translateY(0)}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:.3s forwards pageFadeIn}@keyframes cardFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.card-stagger{opacity:0;animation:.4s forwards cardFadeUp}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink{animation:1s step-end infinite cursorBlink}@keyframes heroSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-item{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards heroSlideUp}@keyframes gradientBreath{0%,to{opacity:.7}50%{opacity:1}}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes chipPulse{0%,to{box-shadow:none;border-color:#0000}50%{border-color:#3ddc8480;box-shadow:0 0 0 3px #3ddc841f}}.chip-pulse{animation:1.8s ease-in-out 3 chipPulse}@keyframes dotPulse{0%{box-shadow:0 0 #3ddc8480}70%{box-shadow:0 0 0 7px #3ddc8400}to{box-shadow:0 0 #3ddc8400}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
