body{font-family:Inter,sans-serif;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.reveal{opacity:0;transform:translateY(60px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-scale{opacity:0;transform:translateY(40px) scale(.95);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.reveal-scale.visible{opacity:1;transform:translateY(0) scale(1)}.reveal-left{opacity:0;transform:translate(-80px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(80px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.reveal-right.visible{opacity:1;transform:translate(0)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}.stagger-6{transition-delay:.6s}.text-reveal-word{display:inline-block;opacity:0;transform:translateY(100%);transition:opacity .5s ease-out,transform .5s ease-out}.text-reveal-word.visible{opacity:1;transform:translateY(0)}.heading-reveal{position:relative;overflow:hidden}.heading-reveal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,white 20%);transform:translate(-100%);animation:headingReveal 1s cubic-bezier(.16,1,.3,1) forwards;animation-play-state:paused}.heading-reveal.visible:after{animation-play-state:running}@keyframes headingReveal{to{transform:translate(100%)}}.float-slow{animation:floatSlow 8s ease-in-out infinite}.float-medium{animation:floatMedium 6s ease-in-out infinite}.float-fast{animation:floatFast 4s ease-in-out infinite}@keyframes floatSlow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(3deg)}}@keyframes floatMedium{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(-2deg)}}@keyframes floatFast{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.drift{animation:drift 20s ease-in-out infinite}.drift-reverse{animation:driftReverse 25s ease-in-out infinite}@keyframes drift{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-20px) scale(1.05)}50%{transform:translate(-20px,30px) scale(.95)}75%{transform:translate(-30px,-10px) scale(1.02)}}@keyframes driftReverse{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-40px,20px) scale(.98)}50%{transform:translate(30px,-30px) scale(1.03)}75%{transform:translate(20px,20px) scale(.97)}}.gradient-morph{background-size:400% 400%;animation:gradientMorph 15s ease infinite}@keyframes gradientMorph{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.card-3d{transition:transform .3s ease-out,box-shadow .3s ease-out;transform-style:preserve-3d}.card-3d:hover{transform:translateY(-8px) rotateX(2deg);box-shadow:0 20px 40px -10px #00000026}.glow-emerald{box-shadow:0 0 60px -10px #10b98166}.glow-pulse{animation:glowPulse 3s ease-in-out infinite}@keyframes glowPulse{0%,to{box-shadow:0 0 40px -10px #10b9814d}50%{box-shadow:0 0 80px -5px #10b98180}}.blob{border-radius:30% 70% 70% 30%/30% 30% 70% 70%}.blob-alt{border-radius:70% 30% 30% 70%/60% 40%}.draw-line{stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1.5s ease-out}.draw-line.visible{stroke-dashoffset:0}@media(max-width:768px){.reveal,.reveal-scale,.reveal-left,.reveal-right{transform:translateY(30px)}.float-slow,.float-medium,.float-fast,.drift,.drift-reverse{animation:none}}@media(prefers-reduced-motion:reduce){.reveal,.reveal-scale,.reveal-left,.reveal-right{opacity:1;transform:none;transition:none}.float-slow,.float-medium,.float-fast,.drift,.drift-reverse,.gradient-morph{animation:none}}
