:root{--scroll-progress:0;--section-progress:0;--mouse-x:50%;--mouse-y:50%;--primary-green:#22c55e;--primary-red:#ef4444;--zinc-900:#18181b;--zinc-800:#27272a;--zinc-700:#3f3f46}.parallax-layer{will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-font-smoothing:antialiased;transform:translateZ(0)}.parallax-container{perspective:1px;min-height:100vh;position:relative}@media (min-width:1024px){.parallax-container{height:100vh;overflow:hidden}}@media (max-width:1023px){.parallax-container{min-height:auto;overflow:visible}}.parallax-bg-far{width:110%;height:110%;position:fixed;top:0;left:0;transform:translateZ(-2px)scale(3)}.parallax-bg-mid{width:105%;height:105%;position:fixed;top:0;left:0;transform:translateZ(-1px)scale(2)}.parallax-bg-near{width:100%;height:100%;position:absolute;top:0;left:0;transform:translateZ(0)}.reveal{opacity:0;will-change:opacity,transform;transition:opacity .2s cubic-bezier(.25,.46,.45,.94),transform .2s cubic-bezier(.25,.46,.45,.94);transform:translateY(10px)}.reveal.active{opacity:1;transform:translateY(0)}.reveal-stagger{opacity:0;will-change:opacity,transform;transform:translateY(8px)}.reveal-stagger.active{opacity:1;transition:opacity .15s cubic-bezier(.25,.46,.45,.94),transform .15s cubic-bezier(.25,.46,.45,.94);transform:translateY(0)}.reveal-stagger:first-child{transition-delay:50ms}.reveal-stagger:nth-child(2){transition-delay:.1s}.reveal-stagger:nth-child(3){transition-delay:.15s}.reveal-stagger:nth-child(4){transition-delay:.2s}.btn-modern{transform-style:preserve-3d;transition:all .3s cubic-bezier(.165,.84,.44,1);position:relative;overflow:hidden;transform:perspective(1000px)rotateX(0)rotateY(0)}.btn-modern:hover{transform:perspective(1000px)rotateX(-5deg)rotateY(5deg)scale(1.02);box-shadow:0 10px 30px #22c55e4d}.card-3d{transform-style:preserve-3d;transition:transform .3s cubic-bezier(.165,.84,.44,1)}@media (min-width:768px){.card-3d:hover{transform:perspective(1000px)rotateX(-2deg)rotateY(2deg)translateZ(10px)}.cursor-dot{background-color:var(--primary-green);pointer-events:none;z-index:9999;mix-blend-mode:difference;border-radius:50%;width:12px;height:12px;transition:transform .15s,background-color .15s;position:fixed;transform:translate(-50%,-50%)}.cursor-dot.hover{background-color:#22c55e80;transform:translate(-50%,-50%)scale(2)}.hide-default-cursor,.hide-default-cursor *{cursor:none!important}}.smooth-scroll{scroll-behavior:smooth}.section-transition{transition:all .5s cubic-bezier(.25,.46,.45,.94)}.scroll-progress{background:linear-gradient(90deg,var(--primary-green)var(--scroll-progress),transparent var(--scroll-progress));z-index:9998;height:3px;transition:background .1s linear;position:fixed;top:0;left:0;right:0}.fps-counter{color:var(--primary-green);z-index:9997;background:#000000b3;border-radius:4px;padding:5px 10px;font-family:monospace;font-size:12px;position:fixed;top:10px;right:10px}@keyframes float{0%,to{opacity:.25;transform:translateY(0)translate(0)}25%{opacity:.2;transform:translateY(-20px)translate(10px)}50%{opacity:.25;transform:translateY(-10px)translate(-10px)}75%{opacity:.2;transform:translateY(-30px)translate(5px)}}.animate-float{animation:15s ease-in-out infinite float}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce-slow{animation:3s ease-in-out infinite bounce-slow}@keyframes progress-slide{0%{background-position:0%}to{background-position:100%}}.bg-gradient-radial{background:radial-gradient(circle at center,var(--tw-gradient-from),var(--tw-gradient-to))}@media (prefers-reduced-motion:reduce){.parallax-layer,.reveal,.reveal-stagger,.btn-modern,.card-3d{transition:none!important;animation:none!important;transform:none!important}.smooth-scroll{scroll-behavior:auto}}
