diff --git a/src/App.tsx b/src/App.tsx index a8395b4..2805331 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -145,17 +145,17 @@ function ParallaxContainer({ children, depth = 1, className = '' }: ParallaxCont // Enhanced 3D Floating Particles Background function FloatingParticles() { - const particles = Array.from({ length: 30 }, (_, i) => i) + const particles = Array.from({ length: 20 }, (_, i) => i) return (
{particles.map((i) => { - const size = Math.random() * 3 + 1 - const depth = Math.random() * 4 + 1 + const size = Math.random() * 2 + 0.5 + const depth = Math.random() * 3 + 1 return ( @@ -551,21 +551,22 @@ function Hero() { {/* Content Layer with Parallax */} - - - Equipping kids for success— - school supplies, clothing, & more - +
+ + + Equipping kids for success— + school supplies, clothing, & more +

Miracles in Motion is a nonprofit providing students with the essentials they need to thrive: backpacks and notebooks, uniforms and shoes, and the everything-else fund for urgent needs.

@@ -587,52 +588,55 @@ function Hero() {
  • Donations tax-deductible
  • Community-driven impact
  • -
    + +
    - - - +
    + + + +
    {/* 3D Scroll Indicator */} -
    - Scroll to explore +
    + Scroll to explore - +
    {/* Enhanced 3D Icon Elements with More Visibility */}
    - {/* Top layer - more visible and engaging */} + {/* Top layer - subtle and non-interfering */} - + {/* Additional floating heart */} @@ -649,22 +653,22 @@ function Hero() { - {/* Right side - more prominent sparkles */} + {/* Right side - subtle sparkles */} - + {/* Additional floating sparkle */} @@ -731,9 +735,9 @@ function Hero() { function HeroShowcase() { return ( -
    -
    -
    +
    +
    +
    @@ -746,10 +750,11 @@ function HeroShowcase() { function TiltCard({ icon: Icon, title, desc }: TiltCardProps) { const x = useMotionValue(0) const y = useMotionValue(0) - const rx = useTransform(y, [-50, 50], [8, -8]) - const ry = useTransform(x, [-50, 50], [-8, 8]) - const springX = useSpring(rx, { stiffness: 200, damping: 20 }) - const springY = useSpring(ry, { stiffness: 200, damping: 20 }) + const rx = useTransform(y, [-50, 50], [12, -12]) + const ry = useTransform(x, [-50, 50], [-12, 12]) + const springX = useSpring(rx, { stiffness: 150, damping: 15 }) + const springY = useSpring(ry, { stiffness: 150, damping: 15 }) + const scale = useSpring(1, { stiffness: 300, damping: 25 }) return ( { x.set(0) y.set(0) + scale.set(1) }} - style={{ rotateX: springX, rotateY: springY, transformStyle: "preserve-3d" }} - className="group card card-hover will-change-transform" + style={{ + rotateX: springX, + rotateY: springY, + scale: scale, + transformStyle: "preserve-3d", + boxShadow: useTransform(scale, [1, 1.05], [ + "0 4px 6px -1px rgba(0, 0, 0, 0.1)", + "0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.04)" + ]) + }} + className="group card card-hover will-change-transform cursor-pointer" + whileHover={{ + z: 20 + }} + transition={{ duration: 0.2 }} >
    @@ -855,19 +875,53 @@ function Programs() { function FeatureCard({ icon: Icon, title, body }: FeatureCardProps) { return ( -
    -
    + +
    -
    + -
    +
    {title}

    {body}

    -
    - Explore -
    -
    + + Explore + + + + + ) }