Featured Products

FeatureEssentialProfessionalSignatureSpaces813UnlimitedFloor Plan❌✅✅ AdvancedHotspots❌✅✅ PremiumExterior❌✅✅Priority Delivery❌❌✅

export default function VisualizPackagesComparison() {
  const plans = [
    {
      name: "Essential Tour",
      audience: "For quick listings and smaller units",
      price: "AED 1,400",
      note: "Best for apartments",
      cta: "Get Started",
      featured: false,
      features: [
        "Up to 8 spaces",
        "360° walkthrough",
        "Mobile + desktop ready",
        "Basic navigation",
        "48h delivery",
      ],
    },
    {
      name: "Professional Tour",
      audience: "For serious agents who want to stand out",
      price: "AED 2,850",
      note: "Most Popular",
      cta: "Choose Professional",
      featured: true,
      features: [
        "Up to 13 spaces",
        "Interior + exterior coverage",
        "Interactive hotspots",
        "Floor plan included",
        "Branding integration",
        "48h delivery",
      ],
    },
    {
      name: "Signature Experience",
      audience: "For luxury properties and premium clients",
      price: "From AED 4,500",
      note: "Luxury tier",
      cta: "Contact Us",
      featured: false,
      features: [
        "Full property coverage",
        "Advanced hotspots",
        "Premium floor plans",
        "Custom branding",
        "Priority delivery",
        "Cinematic presentation",
      ],
    },
  ];

  const comparisonRows = [
    ["Spaces Covered", "Up to 8", "Up to 13", "Full coverage"],
    ["Interior Tour", "Included", "Included", "Included"],
    ["Exterior Coverage", "—", "Included", "Included"],
    ["Floor Plan", "—", "Included", "Advanced"],
    ["Interactive Hotspots", "—", "Included", "Premium"],
    ["Branding", "—", "Included", "Custom"],
    ["Delivery Time", "48h", "48h", "Priority"],
    ["Best For", "Apartments", "Villas", "Luxury spaces"],
  ];

  return (
    <section className="relative overflow-hidden bg-[#070b0a] px-6 py-20 text-white md:px-10 lg:px-16">
      <div className="absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(34,197,94,0.12),transparent_35%),radial-gradient(circle_at_bottom_right,rgba(255,255,255,0.06),transparent_28%)]" />

      <div className="relative mx-auto max-w-7xl">
        <div className="mx-auto max-w-3xl text-center">
          <p className="mb-4 inline-flex rounded-full border border-white/10 bg-white/5 px-4 py-1 text-sm tracking-[0.2em] text-emerald-300 uppercase">
            Packages
          </p>
          <h2 className="text-4xl font-semibold tracking-tight md:text-5xl">
            Choose the Right Experience for Your Listing
          </h2>
          <p className="mt-5 text-base leading-7 text-white/70 md:text-lg">
            Compare features and select the virtual tour package that fits your
            property, your client experience, and your sales goals.
          </p>
        </div>

        <div className="mt-14 grid gap-6 lg:grid-cols-3">
          {plans.map((plan) => (
            <div
              key={plan.name}
              className={`relative rounded-3xl border p-8 shadow-2xl backdrop-blur-sm transition-transform duration-300 hover:-translate-y-1 ${
                plan.featured
                  ? "border-emerald-400/60 bg-white/[0.08] ring-1 ring-emerald-400/40"
                  : "border-white/10 bg-white/[0.03]"
              }`}
            >
              {plan.featured && (
                <div className="absolute -top-3 left-1/2 -translate-x-1/2 rounded-full bg-emerald-400 px-4 py-1 text-xs font-semibold uppercase tracking-[0.2em] text-black">
                  Most Popular
                </div>
              )}

              <div className="mb-6">
                <p className="text-sm uppercase tracking-[0.18em] text-white/50">
                  {plan.note}
                </p>
                <h3 className="mt-3 text-2xl font-semibold">{plan.name}</h3>
                <p className="mt-2 text-sm leading-6 text-white/65">
                  {plan.audience}
                </p>
              </div>

              <div className="mb-8 border-y border-white/10 py-6">
                <div className="text-3xl font-semibold md:text-4xl">
                  {plan.price}
                </div>
              </div>

              <ul className="space-y-4 text-sm text-white/85">
                {plan.features.map((feature) => (
                  <li key={feature} className="flex items-start gap-3">
                    <span className="mt-1 inline-block h-2.5 w-2.5 flex-none rounded-full bg-emerald-400" />
                    <span>{feature}</span>
                  </li>
                ))}
              </ul>

              <button
                className={`mt-10 w-full rounded-2xl px-5 py-4 text-sm font-medium transition ${
                  plan.featured
                    ? "bg-emerald-400 text-black hover:bg-emerald-300"
                    : "border border-white/12 bg-white/5 text-white hover:bg-white/10"
                }`}
              >
                {plan.cta}
              </button>
            </div>
          ))}
        </div>

        <div className="mt-10 overflow-hidden rounded-[28px] border border-white/10 bg-white/[0.03] shadow-2xl">
          <div className="overflow-x-auto">
            <table className="min-w-full border-collapse text-left">
              <thead>
                <tr className="border-b border-white/10 bg-white/[0.04] text-sm text-white/70">
                  <th className="px-6 py-5 font-medium">Feature</th>
                  <th className="px-6 py-5 font-medium">Essential</th>
                  <th className="px-6 py-5 font-medium text-emerald-300">
                    Professional
                  </th>
                  <th className="px-6 py-5 font-medium">Signature</th>
                </tr>
              </thead>
              <tbody>
                {comparisonRows.map(([label, essential, pro, signature], index) => (
                  <tr
                    key={label}
                    className={index !== comparisonRows.length - 1 ? "border-b border-white/10" : ""}
                  >
                    <td className="px-6 py-5 text-sm font-medium text-white">
                      {label}
                    </td>
                    <td className="px-6 py-5 text-sm text-white/70">{essential}</td>
                    <td className="px-6 py-5 text-sm text-emerald-200">{pro}</td>
                    <td className="px-6 py-5 text-sm text-white/70">{signature}</td>
                  </tr>
                ))}
              </tbody>
            </table>
          </div>
        </div>

        <div className="mt-8 grid gap-4 lg:grid-cols-2">
          <div className="rounded-3xl border border-white/10 bg-white/[0.03] p-6">
            <p className="text-sm uppercase tracking-[0.18em] text-emerald-300">
              Why it works
            </p>
            <p className="mt-3 text-base leading-7 text-white/75">
              All tours are optimized for remote viewing, helping agents present
              properties clearly to clients from anywhere.
            </p>
          </div>
          <div className="rounded-3xl border border-white/10 bg-white/[0.03] p-6">
            <p className="text-sm uppercase tracking-[0.18em] text-emerald-300">
              Booking note
            </p>
            <p className="mt-3 text-base leading-7 text-white/75">
              Limited booking slots per week to maintain quality and delivery
              speed across every project.
            </p>
          </div>
        </div>
      </div>
    </section>
  );
}

Frequently Asked Questions

  • We offer a range of solutions designed to meet your needs—whether you're just getting started or scaling something bigger. Everything is tailored to help you move forward with clarity and confidence.

  • Getting started is simple. Reach out through our contact form or schedule a call—we’ll walk you through the next steps and answer any questions along the way.

  • We combine a thoughtful, human-centered approach with clear communication and reliable results. It’s not just what we do—it’s how we do it that sets us apart.

  • You can reach us anytime via our contact page or email. We aim to respond quickly—usually within one business day.

  • We offer flexible pricing based on project type and complexity. After an initial conversation, we’ll provide a transparent quote with no hidden costs.

  • Collaborative, honest, and straightforward. We're here to guide the process, bring ideas to the table, and keep things moving.