feat(marketing): new hero copy + single CTA
- Headline → "Scale your Large World" (coral on "Large World"). - Subtext → "Building safe and scalable systems of claws for any domain of work." - Drop the "Get started for free" hero button; keep "Book a demo". - Remove the three hero trust pills (free credits / no card / self-hostable). - Point the p7 hero CTA assertion at "Book a demo"; refresh the @visual baseline. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
c7c1ff5d23
commit
4b55c4d81e
@@ -37,9 +37,9 @@ export function Hero() {
|
|||||||
letterSpacing: "-0.04em",
|
letterSpacing: "-0.04em",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<span className="text-marketing-coral-strong">The AI crew</span>
|
Scale your
|
||||||
<br />
|
<br />
|
||||||
for your team
|
<span className="text-marketing-coral-strong">Large World</span>
|
||||||
</h1>
|
</h1>
|
||||||
<p
|
<p
|
||||||
className="m-0 font-medium"
|
className="m-0 font-medium"
|
||||||
@@ -51,22 +51,13 @@ export function Hero() {
|
|||||||
maxWidth: 659,
|
maxWidth: 659,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Built for collaboration and safe for your whole team.
|
Building safe and scalable systems of claws for any domain of work.
|
||||||
<br className="hidden sm:inline" /> The open Claw runtime for actual
|
|
||||||
work.
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className="flex w-full flex-col items-stretch justify-center px-4 sm:flex-row sm:items-start sm:px-0"
|
className="flex w-full flex-col items-stretch justify-center px-4 sm:flex-row sm:items-start sm:px-0"
|
||||||
style={{ gap: 16, maxWidth: 538 }}
|
style={{ gap: 16, maxWidth: 538 }}
|
||||||
>
|
>
|
||||||
<Link
|
|
||||||
href="/login"
|
|
||||||
className={`${ctaCoral} h-14 px-10 text-base sm:h-16`}
|
|
||||||
style={{ filter: "drop-shadow(0 4px 12px rgba(22,29,39,0.08))" }}
|
|
||||||
>
|
|
||||||
Get started for free
|
|
||||||
</Link>
|
|
||||||
<a
|
<a
|
||||||
href="mailto:[email protected]"
|
href="mailto:[email protected]"
|
||||||
className={`${ctaGhost} h-14 border border-[#e2e8f0] px-10 text-base sm:h-16`}
|
className={`${ctaGhost} h-14 border border-[#e2e8f0] px-10 text-base sm:h-16`}
|
||||||
@@ -75,30 +66,6 @@ export function Hero() {
|
|||||||
Book a demo
|
Book a demo
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<ul
|
|
||||||
className="m-0 flex list-none flex-wrap items-start justify-center p-0"
|
|
||||||
style={{ gap: 8 }}
|
|
||||||
>
|
|
||||||
{[
|
|
||||||
{ src: "/images/marketing/icon-credits.svg", label: "$100 in free credits" },
|
|
||||||
{ src: "/images/marketing/icon-no-card.svg", label: "No credit card required" },
|
|
||||||
{ src: "/images/marketing/icon-soc2-pill.svg", label: "Self-hostable & air-gapped" },
|
|
||||||
].map((t) => (
|
|
||||||
<li
|
|
||||||
key={t.label}
|
|
||||||
className="inline-flex items-center justify-center rounded-full"
|
|
||||||
style={{ gap: 12, height: 36, padding: "0 16px" }}
|
|
||||||
>
|
|
||||||
<img src={t.src} alt="" aria-hidden className="size-5 shrink-0" />
|
|
||||||
<span
|
|
||||||
className="font-semibold whitespace-nowrap"
|
|
||||||
style={{ color: "#475569", fontSize: 14 }}
|
|
||||||
>
|
|
||||||
{t.label}
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
{/* Soft fade into the white section below. */}
|
{/* Soft fade into the white section below. */}
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ test("the marketing landing renders for logged-out visitors @marketing", async (
|
|||||||
page.getByRole("heading", { name: /AI coworkers/ }),
|
page.getByRole("heading", { name: /AI coworkers/ }),
|
||||||
).toBeVisible();
|
).toBeVisible();
|
||||||
await expect(
|
await expect(
|
||||||
page.getByRole("link", { name: "Get started for free" }).first(),
|
page.getByRole("link", { name: "Book a demo" }).first(),
|
||||||
).toBeVisible();
|
).toBeVisible();
|
||||||
// FAQ accordion: the first item is open by default; expand another.
|
// FAQ accordion: the first item is open by default; expand another.
|
||||||
await expect(page.getByText(/A claw is an AI coworker/)).toBeVisible();
|
await expect(page.getByText(/A claw is an AI coworker/)).toBeVisible();
|
||||||
|
|||||||
Reference in New Issue
Block a user