+ {/* Header Section */}
+
+
+ Privacy-first{" "}
+
+ product analytics
+ {" "}
+ for modern SaaS
+
+
+ Understand user behavior across your entire multi-tenant
+ architecture.
+
+
+ {/* Billing Toggle */}
+
+
+ Monthly
+
+
+
+ Yearly{" "}
+
+ Save 15%
+
+
+
+
+
+ {/* Pricing Cards Grid */}
+
+ {PLANS.map((plan: any, index: number) => {
+ const isPopular = plan.badge === "Most Popular";
+ const isEnterprise = plan.id === "enterprise";
+
+ return (
+
{
+ cardsRef.current[index] = el;
+ }}
+ className="relative rounded-2xl transition-all duration-300 hover:-translate-y-2"
+ style={{
+ backgroundColor: "var(--color-card)",
+ borderWidth: isPopular ? "2px" : "1px",
+ borderColor: isPopular
+ ? "var(--color-primary-500)"
+ : "var(--color-border-light)",
+ boxShadow: "var(--shadow-lg)",
+ }}
+ >
+ {/* Badge */}
+ {plan.badge && (
+
+ {plan.badge}
+
+ )}
+
+
+ {/* Plan Name */}
+
+ {plan.name}
+
+
+ {/* Price */}
+
+
+ {getDisplayPrice(plan)}
+
+
+ {getPricePeriod(plan)}
+
+ {getYearlySavings(plan) && (
+
+ {getYearlySavings(plan)}
+
+ )}
+
+
+ {/* CTA Button */}
+
+ {plan.cta}
+
+
+ {/* Divider */}
+
+
+ {/* Features List */}
+
+ {plan.features.map((feature: string, idx: number) => (
+ -
+
+
+ {feature}
+
+
+ ))}
+
+
+ {/* Limit Indicators for Pro/Enterprise */}
+ {plan.id !== "free" && (
+
+
+
+ API Rate Limit
+
+
+ {plan.limits.apiRateLimit.toLocaleString()} req/min
+
+
+
+
+ Data Retention
+
+
+ {plan.limits.dataRetentionDays} days
+
+
+
+
+ Team Seats
+
+
+ {plan.limits.seats === -1
+ ? "Unlimited"
+ : plan.limits.seats}
+
+
+
+ )}
+
+
+ );
+ })}
+
+
+ {/* Footer Note */}
+
+ No credit card required for the Free plan.
+
+
+