html{scroll-behavior:smooth}body{background:#fff;overflow-x:hidden}.grid-bg{background-image:linear-gradient(to right,rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.03) 1px,transparent 1px);background-size:40px 40px}.fade-up{animation:fadeUp .8s ease forwards;opacity:0;transform:translateY(20px)}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease-out,transform .7s ease-out;will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}.stagger>.reveal:nth-child(1){transition-delay:0s}.stagger>.reveal:nth-child(2){transition-delay:.08s}.stagger>.reveal:nth-child(3){transition-delay:.16s}.stagger>.reveal:nth-child(4){transition-delay:.24s}.stagger>.reveal:nth-child(5){transition-delay:.32s}.stagger>.reveal:nth-child(6){transition-delay:.4s}.blob-float{animation:blobFloat 14s ease-in-out infinite}@keyframes blobFloat{0%,100%{transform:translate(-50%,0) scale(1)}50%{transform:translate(-50%,20px) scale(1.05)}}.nav-link{position:relative}.nav-link::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .3s ease}.nav-link:hover::after{transform:scaleX(1)}.card-lift{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.card-lift:hover{transform:translateY(-4px);border-color:rgba(63,175,90,.4)}.btn-primary{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(63,175,90,.28)}.btn-ghost{transition:transform .25s ease,border-color .25s ease,color .25s ease}.btn-ghost:hover{transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
