> ## Documentation Index
> Fetch the complete documentation index at: https://site.aspect.build/llms.txt
> Use this file to discover all available pages before exploring further.

# Get in Touch with Aspect Build

> Have questions about Bazel migration, build optimization, or Aspect Build's tools? Contact us today to connect with our experts and improve your development process.

export const MarketingPage = () => <div className="marketing-page-marker" style={{
  display: "none"
}} />;

export const CopyEmail = ({email = "hello@aspect.build"}) => <span className="inline-flex items-center gap-2">
    <a href={`mailto:${email}`} className="text-blue-600 dark:text-blue-400 font-semibold hover:underline">{email}</a>
    <button type="button" onClick={e => {
  navigator.clipboard.writeText(email);
  const b = e.currentTarget;
  b.textContent = "Copied!";
  setTimeout(() => {
    b.textContent = "Copy";
  }, 1500);
}} className="text-xs px-2 py-0.5 rounded-md border border-zinc-300 dark:border-zinc-600 text-zinc-500 dark:text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-700 transition cursor-pointer">
      Copy
    </button>
  </span>;

export const ContactForm = () => <form id="contact-form" name="Contact Form" method="POST" onSubmit={e => {
  e.preventDefault();
  const form = e.currentTarget;
  try {
    const guid = "35e0654a-f5a5-4692-a501-b0c6ebe295a3";
    const fsid = "mnjygrko";
    const fields = Array.from(new FormData(form).entries()).map(([name, value]) => ({
      name,
      value: String(value)
    }));
    const hutk = (document.cookie.match(/hubspotutk=([^;]+)/) || [])[1];
    if (guid) fetch("https://api.hsforms.com/submissions/v3/integration/submit/46621241/" + guid, {
      method: "POST",
      keepalive: true,
      headers: {
        "Content-Type": "application/json"
      },
      body: JSON.stringify({
        fields,
        context: {
          pageUri: window.location.href,
          pageName: document.title,
          ...hutk ? {
            hutk
          } : {}
        }
      })
    }).catch(() => {});
    if (fsid) fetch("https://formspree.io/f/" + fsid, {
      method: "POST",
      keepalive: true,
      headers: {
        Accept: "application/json",
        "Content-Type": "application/json"
      },
      body: JSON.stringify(Object.fromEntries(new FormData(form)))
    }).catch(() => {});
  } catch (err) {}
  setTimeout(() => {
    window.location.href = "/thank-you";
  }, 400);
}}>
   <div className="mt-8 space-y-4">
    <div className="grid grid-cols-2 gap-3">
      <input type="text" name="firstname" placeholder="First Name" required className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
      <input type="text" name="lastname" placeholder="Last Name" required className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
    </div>
    <div className="grid grid-cols-2 gap-3">
      <input type="email" name="email" placeholder="Company Email" required className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
      <input type="text" name="company" placeholder="Company Name" required className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition" />
    </div>
    <select name="topic" placeholder="Pricing Tier" required className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition">
      <option value="">What would you like to learn more about?</option>
      <option value="Bazel support: expert assistance and consulting">Bazel support: expert assistance and consulting</option>
      <option value="Bazel platform: Aspect Workflows developer productivity">Bazel platform: Aspect Workflows developer productivity</option>
      <option value="Bazel support and Bazel platform">Bazel support and Bazel platform</option>
      <option value="Other">Other</option>
    </select>
    <textarea name="message" placeholder="Message" rows={5} className="w-full px-4 py-3 rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-white placeholder-zinc-400 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 outline-none transition resize-y" />
    <div className="flex items-center gap-4">
      <button type="submit" className="inline-flex items-center px-6 py-3 rounded-lg bg-blue-600 text-white font-semibold hover:bg-blue-700 transition shadow-sm">Send message →</button>
    </div>
   </div>
  </form>;

export const Section = ({children, className = "", gray = false, dark = false, id}) => <section id={id} className={`w-full flex justify-center px-4 py-16 md:py-24 ${gray ? "bg-gray-50 dark:bg-zinc-900" : dark ? "bg-zinc-900 dark:bg-zinc-950" : ""} ${className}`}>
    <div className="w-full" style={{
  maxWidth: "1140px"
}}>
      {children}
    </div>
  </section>;

<MarketingPage />

<Section>
  <div className="grid md:grid-cols-2 gap-12">
    <div>
      <h2 className="text-3xl md:text-4xl font-semibold text-zinc-900 dark:text-white">How can we help?</h2>

      <p className="mt-4 text-lg text-zinc-600 dark:text-zinc-300">
        Connect with our team to see how we can help your organization deliver software faster, at scale.
      </p>

      <ContactForm />

      <div className="mt-10 pt-6 border-t border-zinc-200 dark:border-zinc-800">
        <p className="text-sm text-zinc-500 dark:text-zinc-400">
          Prefer to talk live? <a href="https://calendly.com/aspect-build/intro" target="_blank" rel="noopener noreferrer" className="text-blue-600 dark:text-blue-400 font-semibold hover:underline">Book a meeting →</a>
        </p>

        <p className="mt-2 text-sm text-zinc-500 dark:text-zinc-400">
          Or email <CopyEmail />
        </p>
      </div>
    </div>

    <div>
      <div className="p-8 rounded-2xl bg-gradient-to-br from-zinc-50 to-blue-50 dark:from-zinc-800/60 dark:to-blue-900/10 border border-zinc-200 dark:border-zinc-700 sticky top-24">
        <h1 className="text-3xl font-semibold text-zinc-900 dark:text-white">Accelerate your team's delivery</h1>

        <p className="mt-4 text-lg text-zinc-600 dark:text-zinc-300">
          Build confidently with Aspect. Reduce time and complexity to operate Bazel at scale.
        </p>

        <div className="mt-8 space-y-4">
          <div className="flex items-start gap-3">
            <span className="flex-shrink-0 w-6 h-6 rounded-full bg-blue-600 text-white text-sm font-bold flex items-center justify-center mt-0.5">✓</span>

            <div>
              <p className="font-semibold text-zinc-900 dark:text-white">Aspect Workflows</p>
              <p className="text-sm text-zinc-500 dark:text-zinc-400">The developer productivity platform for Bazel.</p>
            </div>
          </div>

          <div className="flex items-start gap-3">
            <span className="flex-shrink-0 w-6 h-6 rounded-full bg-blue-600 text-white text-sm font-bold flex items-center justify-center mt-0.5">✓</span>

            <div>
              <p className="font-semibold text-zinc-900 dark:text-white">Bazel Support</p>
              <p className="text-sm text-zinc-500 dark:text-zinc-400">Expert assistance and consulting.</p>
            </div>
          </div>
        </div>

        <a href="/trial" className="inline-flex items-center mt-8 px-6 py-3 rounded-lg bg-blue-600 text-white font-semibold hover:bg-blue-700 transition shadow-sm">
          Try Aspect Workflows for Free
        </a>

        <p className="mt-3 text-xs text-zinc-500 dark:text-zinc-400">
          30-day free trial on a dedicated, single-tenant deployment.
        </p>

        <div className="mt-8 pt-6 border-t border-zinc-200 dark:border-zinc-700">
          <p className="font-semibold text-zinc-900 dark:text-white">Just want the free tools?</p>

          <p className="mt-2 text-sm text-zinc-500 dark:text-zinc-400">
            The Aspect CLI, AXL, and Marvin are free for every developer. No trial needed.
          </p>

          <div className="mt-3 flex flex-col gap-2">
            <a href="/docs/cli/install" className="text-sm text-blue-600 dark:text-blue-400 font-semibold hover:underline">Install the free Aspect CLI →</a>
            <a href="/platform/marvin" className="text-sm text-blue-600 dark:text-blue-400 font-semibold hover:underline">Meet Marvin, the Bazel bot →</a>
          </div>
        </div>
      </div>
    </div>
  </div>
</Section>
