new theme for site
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Igny8 · AI Growth Engine</title>
|
||||
</head>
|
||||
<body class="bg-[#050913]">
|
||||
<body class="bg-white">
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/marketing/index.tsx"></script>
|
||||
</body>
|
||||
|
||||
@@ -37,28 +37,27 @@ const CTASection: React.FC<CTASectionProps> = ({
|
||||
};
|
||||
|
||||
return (
|
||||
<section className="py-24">
|
||||
<section className="py-24 bg-white">
|
||||
<div className="max-w-5xl mx-auto px-6">
|
||||
<div className="relative overflow-hidden rounded-3xl border border-white/10 bg-gradient-to-br from-brand-500/30 via-brand-600/20 to-transparent p-10 md:p-14">
|
||||
<div className="absolute inset-0 bg-[radial-gradient(circle_at_top_left,_rgba(255,255,255,0.12),_transparent_60%)] pointer-events-none" />
|
||||
<div className="relative overflow-hidden rounded-3xl border border-slate-200 bg-gradient-to-br from-brand-50 via-brand-100/50 to-white p-10 md:p-14">
|
||||
<div className="relative flex flex-col gap-6">
|
||||
<h3 className="text-3xl md:text-4xl font-semibold text-white leading-tight">
|
||||
<h3 className="text-3xl md:text-4xl font-semibold text-slate-900 leading-tight">
|
||||
{title}
|
||||
</h3>
|
||||
<p className="text-white/70 text-base md:text-lg max-w-2xl">
|
||||
<p className="text-slate-600 text-base md:text-lg max-w-2xl">
|
||||
{description}
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row gap-4">
|
||||
{renderAnchor(
|
||||
primaryCta.label,
|
||||
primaryCta.href,
|
||||
"inline-flex items-center justify-center rounded-full bg-white text-slate-950 px-6 py-3 text-sm md:text-base font-semibold hover:bg-brand-100 transition"
|
||||
"inline-flex items-center justify-center rounded-full bg-brand-500 hover:bg-brand-600 text-white px-6 py-3 text-sm md:text-base font-semibold transition"
|
||||
)}
|
||||
{secondaryCta && (
|
||||
renderAnchor(
|
||||
secondaryCta.label,
|
||||
secondaryCta.href,
|
||||
"inline-flex items-center justify-center rounded-full border border-white/40 px-6 py-3 text-sm md:text-base font-semibold text-white hover:border-white/60 transition"
|
||||
"inline-flex items-center justify-center rounded-full border border-slate-300 px-6 py-3 text-sm md:text-base font-semibold text-slate-700 hover:text-slate-900 hover:border-slate-400 transition"
|
||||
)
|
||||
)}
|
||||
</div>
|
||||
|
||||
@@ -19,25 +19,24 @@ const FeatureGrid: React.FC<FeatureGridProps> = ({ features }) => {
|
||||
{features.map((feature) => (
|
||||
<div
|
||||
key={feature.title}
|
||||
className="relative rounded-3xl border border-white/10 bg-gradient-to-br from-white/8 via-transparent to-white/0 p-8 flex flex-col gap-4 group hover:border-brand-400/40 transition"
|
||||
className="relative rounded-3xl border border-slate-200 bg-white p-8 flex flex-col gap-4 group hover:border-brand-400 transition shadow-sm hover:shadow-md"
|
||||
>
|
||||
<div className="size-12 rounded-2xl bg-brand-500/10 border border-brand-500/30 flex items-center justify-center text-brand-200">
|
||||
<div className="size-12 rounded-2xl bg-brand-100 border border-brand-300 flex items-center justify-center text-brand-600">
|
||||
{feature.icon}
|
||||
</div>
|
||||
<h3 className="text-xl font-semibold text-white">{feature.title}</h3>
|
||||
<p className="text-sm text-white/60 leading-relaxed">
|
||||
<h3 className="text-xl font-semibold text-slate-900">{feature.title}</h3>
|
||||
<p className="text-sm text-slate-600 leading-relaxed">
|
||||
{feature.description}
|
||||
</p>
|
||||
{feature.link && (
|
||||
<a
|
||||
href={feature.link.href}
|
||||
className="inline-flex items-center gap-2 text-sm font-semibold text-brand-200 hover:text-brand-100"
|
||||
className="inline-flex items-center gap-2 text-sm font-semibold text-brand-600 hover:text-brand-700"
|
||||
>
|
||||
{feature.link.label}
|
||||
<ArrowUpRightIcon className="h-4 w-4" />
|
||||
</a>
|
||||
)}
|
||||
<div className="absolute inset-0 rounded-3xl border border-white/0 group-hover:border-brand-500/30 transition" />
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
@@ -40,43 +40,42 @@ const HeroSection: React.FC<HeroSectionProps> = ({
|
||||
};
|
||||
|
||||
return (
|
||||
<section className="relative overflow-hidden">
|
||||
<div className="absolute inset-0 bg-[radial-gradient(circle_at_top,_rgba(66,133,244,0.25),_rgba(9,14,26,0.9))]" />
|
||||
<section className="relative overflow-hidden bg-white">
|
||||
<div className="absolute inset-0 bg-gradient-to-br from-brand-50/50 via-white to-slate-50/50" />
|
||||
<div className="relative max-w-6xl mx-auto px-6 py-24 md:py-32 flex flex-col lg:flex-row gap-16 items-center">
|
||||
<div className="flex-1 flex flex-col gap-6">
|
||||
<span className="inline-flex items-center gap-2 text-xs font-semibold uppercase tracking-[0.28em] text-brand-200">
|
||||
<span className="inline-flex items-center gap-2 text-xs font-semibold uppercase tracking-[0.28em] text-brand-600">
|
||||
AI + SEO PLATFORM
|
||||
</span>
|
||||
<h1 className="text-4xl md:text-6xl font-semibold leading-tight text-white">
|
||||
<h1 className="text-4xl md:text-6xl font-semibold leading-tight text-slate-900">
|
||||
{headline}
|
||||
</h1>
|
||||
<p className="text-lg md:text-xl text-white/70 leading-relaxed max-w-xl">
|
||||
<p className="text-lg md:text-xl text-slate-600 leading-relaxed max-w-xl">
|
||||
{subheadline}
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row gap-4">
|
||||
{renderCta(
|
||||
primaryCta,
|
||||
"inline-flex items-center justify-center rounded-full bg-brand-500 hover:bg-brand-400 px-6 py-3 text-sm md:text-base font-semibold transition"
|
||||
"inline-flex items-center justify-center rounded-full bg-brand-500 hover:bg-brand-600 text-white px-6 py-3 text-sm md:text-base font-semibold transition"
|
||||
)}
|
||||
{secondaryCta && renderCta(
|
||||
secondaryCta,
|
||||
"inline-flex items-center justify-center rounded-full border border-white/20 px-6 py-3 text-sm md:text-base font-semibold text-white/80 hover:text-white hover:border-white/40 transition"
|
||||
"inline-flex items-center justify-center rounded-full border border-slate-300 px-6 py-3 text-sm md:text-base font-semibold text-slate-700 hover:text-slate-900 hover:border-slate-400 transition"
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex-1 w-full">
|
||||
<div className="relative rounded-3xl border border-white/10 bg-white/5 shadow-[0_0_60px_rgba(88,166,255,0.1)]">
|
||||
<div className="absolute inset-0 rounded-3xl bg-gradient-to-br from-white/10 via-transparent to-white/0 pointer-events-none" />
|
||||
<div className="relative rounded-3xl border border-slate-200 bg-white shadow-xl">
|
||||
<img
|
||||
src={`/marketing/images/${image}`}
|
||||
alt="Igny8 dashboard preview"
|
||||
className="w-full h-full object-cover rounded-3xl"
|
||||
/>
|
||||
<div className="absolute bottom-6 left-6 bg-slate-950/70 backdrop-blur-lg border border-white/10 rounded-2xl px-6 py-4 flex flex-col gap-1">
|
||||
<span className="text-xs uppercase tracking-[0.2em] text-white/50">
|
||||
<div className="absolute bottom-6 left-6 bg-white/95 backdrop-blur-lg border border-slate-200 rounded-2xl px-6 py-4 flex flex-col gap-1 shadow-lg">
|
||||
<span className="text-xs uppercase tracking-[0.2em] text-slate-500">
|
||||
End-to-end automation
|
||||
</span>
|
||||
<span className="text-lg font-semibold text-white">
|
||||
<span className="text-lg font-semibold text-slate-900">
|
||||
Keywords ➝ Ideas ➝ Tasks ➝ Content ➝ Images
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -2,7 +2,7 @@ import React from "react";
|
||||
|
||||
const LoadingPage: React.FC = () => {
|
||||
return (
|
||||
<div className="min-h-screen flex flex-col items-center justify-center bg-slate-950 text-white">
|
||||
<div className="min-h-screen flex flex-col items-center justify-center bg-white text-slate-900">
|
||||
<div className="flex items-center gap-3 text-lg font-semibold tracking-wide uppercase">
|
||||
<span className="h-3 w-3 rounded-full bg-brand-500 animate-pulse" />
|
||||
Loading experience…
|
||||
|
||||
@@ -11,9 +11,9 @@ const logos = [
|
||||
|
||||
const LogoCloud: React.FC = () => {
|
||||
return (
|
||||
<section className="py-16 bg-slate-950/70 border-y border-white/5">
|
||||
<section className="py-16 bg-slate-50 border-y border-slate-200">
|
||||
<div className="max-w-5xl mx-auto px-6 flex flex-col gap-6 items-center">
|
||||
<span className="text-xs uppercase tracking-[0.28em] text-white/40">
|
||||
<span className="text-xs uppercase tracking-[0.28em] text-slate-500">
|
||||
Trusted by modern SEO + content teams
|
||||
</span>
|
||||
<div className="flex flex-wrap justify-center gap-8 md:gap-12">
|
||||
|
||||
@@ -12,11 +12,11 @@ interface MetricsBarProps {
|
||||
const MetricsBar: React.FC<MetricsBarProps> = ({ metrics }) => {
|
||||
return (
|
||||
<div className="max-w-5xl mx-auto -mt-12 sm:-mt-16 px-6">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-3 gap-4 rounded-2xl border border-white/10 bg-slate-950/70 backdrop-blur-2xl p-6">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-3 gap-4 rounded-2xl border border-slate-200 bg-white shadow-lg p-6">
|
||||
{metrics.map((metric) => (
|
||||
<div key={metric.label} className="text-center sm:text-left">
|
||||
<div className="text-3xl font-semibold text-white">{metric.value}</div>
|
||||
<div className="text-sm uppercase tracking-[0.2em] text-white/50 mt-2">
|
||||
<div className="text-3xl font-semibold text-slate-900">{metric.value}</div>
|
||||
<div className="text-sm uppercase tracking-[0.2em] text-slate-500 mt-2">
|
||||
{metric.label}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -18,15 +18,15 @@ const SectionHeading: React.FC<SectionHeadingProps> = ({
|
||||
className={`flex flex-col gap-4 ${align === "center" ? "items-center text-center" : "items-start text-left"}`}
|
||||
>
|
||||
{eyebrow && (
|
||||
<span className="inline-flex items-center rounded-full border border-white/15 bg-white/5 px-4 py-1 text-xs font-semibold uppercase tracking-[0.2em] text-brand-200">
|
||||
<span className="inline-flex items-center rounded-full border border-brand-200 bg-brand-50 px-4 py-1 text-xs font-semibold uppercase tracking-[0.2em] text-brand-600">
|
||||
{eyebrow}
|
||||
</span>
|
||||
)}
|
||||
<h2 className="text-3xl md:text-4xl font-semibold text-white leading-tight max-w-3xl">
|
||||
<h2 className="text-3xl md:text-4xl font-semibold text-slate-900 leading-tight max-w-3xl">
|
||||
{title}
|
||||
</h2>
|
||||
{description && (
|
||||
<p className="text-white/60 max-w-2xl text-base md:text-lg leading-relaxed">
|
||||
<p className="text-slate-600 max-w-2xl text-base md:text-lg leading-relaxed">
|
||||
{description}
|
||||
</p>
|
||||
)}
|
||||
|
||||
@@ -3,13 +3,13 @@ import { testimonials } from "../data/testimonials";
|
||||
|
||||
const TestimonialSlider: React.FC = () => {
|
||||
return (
|
||||
<section className="bg-slate-950">
|
||||
<section className="bg-slate-50">
|
||||
<div className="max-w-6xl mx-auto px-6 py-24 space-y-12">
|
||||
<div className="flex flex-col items-center gap-4 text-center">
|
||||
<span className="inline-flex items-center rounded-full border border-white/15 bg-white/5 px-4 py-1 text-xs font-semibold uppercase tracking-[0.2em] text-brand-200">
|
||||
<span className="inline-flex items-center rounded-full border border-brand-200 bg-brand-50 px-4 py-1 text-xs font-semibold uppercase tracking-[0.2em] text-brand-600">
|
||||
Loved by scaling teams
|
||||
</span>
|
||||
<h2 className="text-3xl md:text-4xl font-semibold text-white leading-tight max-w-2xl">
|
||||
<h2 className="text-3xl md:text-4xl font-semibold text-slate-900 leading-tight max-w-2xl">
|
||||
Teams ship more content, capture more demand, and see faster ROI with Igny8.
|
||||
</h2>
|
||||
</div>
|
||||
@@ -17,14 +17,14 @@ const TestimonialSlider: React.FC = () => {
|
||||
{testimonials.map((testimonial) => (
|
||||
<div
|
||||
key={testimonial.name}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-8 flex flex-col gap-6 relative overflow-hidden"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-8 flex flex-col gap-6 relative overflow-hidden shadow-sm hover:shadow-md transition"
|
||||
>
|
||||
<div className="absolute -top-16 left-1/2 -translate-x-1/2 h-32 w-[140%] rounded-[50%] bg-brand-500/10 blur-3xl pointer-events-none" />
|
||||
<p className="text-base text-white/80 leading-relaxed">
|
||||
“{testimonial.quote}”
|
||||
<div className="absolute -top-16 left-1/2 -translate-x-1/2 h-32 w-[140%] rounded-[50%] bg-brand-100 blur-3xl pointer-events-none" />
|
||||
<p className="text-base text-slate-700 leading-relaxed relative z-10">
|
||||
"{testimonial.quote}"
|
||||
</p>
|
||||
<div className="flex flex-col text-sm text-white/60">
|
||||
<span className="font-semibold text-white">{testimonial.name}</span>
|
||||
<div className="flex flex-col text-sm text-slate-600 relative z-10">
|
||||
<span className="font-semibold text-slate-900">{testimonial.name}</span>
|
||||
<span>
|
||||
{testimonial.title} · {testimonial.company}
|
||||
</span>
|
||||
|
||||
@@ -16,15 +16,15 @@ const WorkflowSteps: React.FC<WorkflowStepsProps> = ({ steps }) => {
|
||||
{steps.map((step, index) => (
|
||||
<div
|
||||
key={step.title}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-6 flex flex-col gap-4 hover:border-brand-400/40 transition"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-6 flex flex-col gap-4 hover:border-brand-400 transition shadow-sm hover:shadow-md"
|
||||
>
|
||||
<div className="h-12 w-12 rounded-2xl bg-brand-500/10 border border-brand-500/30 flex items-center justify-center font-semibold text-brand-200 text-xl">
|
||||
<div className="h-12 w-12 rounded-2xl bg-brand-100 border border-brand-300 flex items-center justify-center font-semibold text-brand-600 text-xl">
|
||||
{index + 1}
|
||||
</div>
|
||||
<h3 className="text-lg font-semibold text-white leading-snug">
|
||||
<h3 className="text-lg font-semibold text-slate-900 leading-snug">
|
||||
{step.title}
|
||||
</h3>
|
||||
<p className="text-sm text-white/60 leading-relaxed">
|
||||
<p className="text-sm text-slate-600 leading-relaxed">
|
||||
{step.subtitle}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -15,18 +15,18 @@ const MarketingLayout: React.FC<MarketingLayoutProps> = ({ children }) => {
|
||||
const closeMobile = () => setMobileOpen(false);
|
||||
|
||||
return (
|
||||
<div className="min-h-screen flex flex-col bg-[#090E1A] text-white">
|
||||
<header className="sticky top-0 z-[1100] backdrop-blur-xl bg-slate-950/70 border-b border-white/10">
|
||||
<div className="min-h-screen flex flex-col bg-white text-slate-900">
|
||||
<header className="sticky top-0 z-[1100] backdrop-blur-xl bg-white/95 border-b border-slate-200">
|
||||
<div className="max-w-6xl mx-auto px-6 py-4 flex items-center justify-between">
|
||||
<Link to="/" className="flex items-center gap-3" onClick={closeMobile}>
|
||||
<span className="h-10 w-10 rounded-xl bg-gradient-to-br from-brand-400 to-brand-600 flex items-center justify-center text-lg font-bold">
|
||||
<span className="h-10 w-10 rounded-xl bg-gradient-to-br from-brand-400 to-brand-600 flex items-center justify-center text-lg font-bold text-white">
|
||||
IG
|
||||
</span>
|
||||
<div className="flex flex-col leading-tight">
|
||||
<span className="font-semibold tracking-wide text-white uppercase">
|
||||
<span className="font-semibold tracking-wide text-slate-900 uppercase">
|
||||
Igny8
|
||||
</span>
|
||||
<span className="text-xs text-white/60">AI growth engine</span>
|
||||
<span className="text-xs text-slate-600">AI growth engine</span>
|
||||
</div>
|
||||
</Link>
|
||||
|
||||
@@ -37,7 +37,7 @@ const MarketingLayout: React.FC<MarketingLayoutProps> = ({ children }) => {
|
||||
<Link
|
||||
key={link.name}
|
||||
to={link.path}
|
||||
className={`transition hover:text-brand-200 ${isActive ? "text-brand-200" : "text-white/70"}`}
|
||||
className={`transition hover:text-brand-600 ${isActive ? "text-brand-600" : "text-slate-700"}`}
|
||||
>
|
||||
{link.name}
|
||||
</Link>
|
||||
@@ -48,20 +48,20 @@ const MarketingLayout: React.FC<MarketingLayoutProps> = ({ children }) => {
|
||||
<div className="hidden lg:flex items-center gap-4">
|
||||
<a
|
||||
href="https://app.igny8.com/login"
|
||||
className="text-sm font-medium text-white/70 hover:text-white transition"
|
||||
className="text-sm font-medium text-slate-700 hover:text-slate-900 transition"
|
||||
>
|
||||
Log in
|
||||
</a>
|
||||
<a
|
||||
href="https://app.igny8.com/signup"
|
||||
className="inline-flex items-center justify-center rounded-full bg-brand-500 hover:bg-brand-400 px-5 py-2 text-sm font-semibold transition"
|
||||
className="inline-flex items-center justify-center rounded-full bg-brand-500 hover:bg-brand-600 text-white px-5 py-2 text-sm font-semibold transition"
|
||||
>
|
||||
Start Free
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<button
|
||||
className="lg:hidden inline-flex items-center justify-center rounded-lg border border-white/10 p-2 text-white/80"
|
||||
className="lg:hidden inline-flex items-center justify-center rounded-lg border border-slate-200 p-2 text-slate-700"
|
||||
onClick={toggleMobile}
|
||||
aria-label="Toggle navigation"
|
||||
>
|
||||
@@ -70,14 +70,14 @@ const MarketingLayout: React.FC<MarketingLayoutProps> = ({ children }) => {
|
||||
</div>
|
||||
|
||||
{mobileOpen && (
|
||||
<div className="lg:hidden border-t border-white/10 bg-slate-950/95 backdrop-blur-xl">
|
||||
<div className="lg:hidden border-t border-slate-200 bg-white backdrop-blur-xl">
|
||||
<nav className="px-6 py-4 flex flex-col gap-3">
|
||||
{primaryNav.map((link) => (
|
||||
<Link
|
||||
key={link.name}
|
||||
to={link.path}
|
||||
onClick={closeMobile}
|
||||
className="text-sm font-medium text-white/80 hover:text-white transition"
|
||||
className="text-sm font-medium text-slate-700 hover:text-slate-900 transition"
|
||||
>
|
||||
{link.name}
|
||||
</Link>
|
||||
@@ -86,14 +86,14 @@ const MarketingLayout: React.FC<MarketingLayoutProps> = ({ children }) => {
|
||||
<div className="px-6 pb-6 flex flex-col gap-3">
|
||||
<a
|
||||
href="https://app.igny8.com/login"
|
||||
className="text-sm font-medium text-white/70 hover:text-white transition"
|
||||
className="text-sm font-medium text-slate-700 hover:text-slate-900 transition"
|
||||
onClick={closeMobile}
|
||||
>
|
||||
Log in
|
||||
</a>
|
||||
<a
|
||||
href="https://app.igny8.com/signup"
|
||||
className="inline-flex items-center justify-center rounded-full bg-brand-500 hover:bg-brand-400 px-5 py-2 text-sm font-semibold transition"
|
||||
className="inline-flex items-center justify-center rounded-full bg-brand-500 hover:bg-brand-600 text-white px-5 py-2 text-sm font-semibold transition"
|
||||
onClick={closeMobile}
|
||||
>
|
||||
Start Free
|
||||
@@ -105,39 +105,39 @@ const MarketingLayout: React.FC<MarketingLayoutProps> = ({ children }) => {
|
||||
|
||||
<main className="flex-1">{children}</main>
|
||||
|
||||
<footer className="bg-slate-950 border-t border-white/10">
|
||||
<footer className="bg-slate-50 border-t border-slate-200">
|
||||
<div className="max-w-6xl mx-auto px-6 py-16 grid grid-cols-1 md:grid-cols-4 gap-12">
|
||||
<div className="space-y-4">
|
||||
<Link to="/" className="inline-flex items-center gap-3">
|
||||
<span className="h-10 w-10 rounded-xl bg-gradient-to-br from-brand-400 to-brand-600 flex items-center justify-center text-lg font-bold">
|
||||
<span className="h-10 w-10 rounded-xl bg-gradient-to-br from-brand-400 to-brand-600 flex items-center justify-center text-lg font-bold text-white">
|
||||
IG
|
||||
</span>
|
||||
<div className="flex flex-col leading-tight">
|
||||
<span className="font-semibold tracking-wide text-white uppercase">
|
||||
<span className="font-semibold tracking-wide text-slate-900 uppercase">
|
||||
Igny8
|
||||
</span>
|
||||
<span className="text-xs text-white/60">
|
||||
<span className="text-xs text-slate-600">
|
||||
AI + SEO automation suite
|
||||
</span>
|
||||
</div>
|
||||
</Link>
|
||||
<p className="text-sm text-white/60 max-w-xs">
|
||||
<p className="text-sm text-slate-600 max-w-xs">
|
||||
Automate keyword intelligence, clustering, content production, and image creation in one unified growth engine.
|
||||
</p>
|
||||
<div className="text-xs text-white/40">
|
||||
<div className="text-xs text-slate-500">
|
||||
© {new Date().getFullYear()} Igny8 Labs. All rights reserved.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{footerNavGroups.map((group) => (
|
||||
<div key={group.title}>
|
||||
<h4 className="text-sm font-semibold text-white uppercase tracking-wide mb-4">
|
||||
<h4 className="text-sm font-semibold text-slate-900 uppercase tracking-wide mb-4">
|
||||
{group.title}
|
||||
</h4>
|
||||
<ul className="space-y-3 text-sm text-white/60">
|
||||
<ul className="space-y-3 text-sm text-slate-600">
|
||||
{group.links.map((link) => (
|
||||
<li key={link.name}>
|
||||
<Link to={link.path} className="hover:text-white transition">
|
||||
<Link to={link.path} className="hover:text-slate-900 transition">
|
||||
{link.name}
|
||||
</Link>
|
||||
</li>
|
||||
@@ -146,7 +146,7 @@ const MarketingLayout: React.FC<MarketingLayoutProps> = ({ children }) => {
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
<div className="border-t border-white/10 py-6 px-6 text-center text-xs text-white/30">
|
||||
<div className="border-t border-slate-200 py-6 px-6 text-center text-xs text-slate-500">
|
||||
Built for marketers who automate growth with AI.
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -43,7 +43,7 @@ const caseStudies = [
|
||||
|
||||
const CaseStudies: React.FC = () => {
|
||||
return (
|
||||
<div className="bg-[#050913] text-white">
|
||||
<div className="bg-white text-slate-900">
|
||||
<section className="max-w-6xl mx-auto px-6 pt-24 pb-16">
|
||||
<SectionHeading
|
||||
eyebrow="Proof"
|
||||
@@ -56,31 +56,31 @@ const CaseStudies: React.FC = () => {
|
||||
{caseStudies.map((cs) => (
|
||||
<div
|
||||
key={cs.company}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-12 grid grid-cols-1 lg:grid-cols-2 gap-12"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-12 grid grid-cols-1 lg:grid-cols-2 gap-12"
|
||||
>
|
||||
<div className="space-y-6">
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-white/40">
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-slate-500">
|
||||
{cs.company}
|
||||
</span>
|
||||
<h3 className="text-2xl font-semibold text-white">{cs.headline}</h3>
|
||||
<p className="text-sm text-white/70 leading-relaxed">{cs.summary}</p>
|
||||
<h3 className="text-2xl font-semibold text-slate-900">{cs.headline}</h3>
|
||||
<p className="text-sm text-slate-600 leading-relaxed">{cs.summary}</p>
|
||||
<div className="grid grid-cols-3 gap-4">
|
||||
{cs.metrics.map((metric) => (
|
||||
<div
|
||||
key={metric.label}
|
||||
className="rounded-2xl border border-white/10 bg-white/5 p-4 text-center space-y-2"
|
||||
className="rounded-2xl border border-slate-200 bg-white p-4 text-center space-y-2"
|
||||
>
|
||||
<div className="text-xl font-semibold text-white">
|
||||
<div className="text-xl font-semibold text-slate-900">
|
||||
{metric.value}
|
||||
</div>
|
||||
<div className="text-xs uppercase tracking-[0.2em] text-white/40">
|
||||
<div className="text-xs uppercase tracking-[0.2em] text-slate-500">
|
||||
{metric.label}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div className="rounded-3xl border border-white/10 bg-slate-900 overflow-hidden">
|
||||
<div className="rounded-3xl border border-slate-200 bg-slate-100 overflow-hidden">
|
||||
<img
|
||||
src={`/marketing/images/${cs.image}`}
|
||||
alt={`${cs.company} case study`}
|
||||
@@ -91,27 +91,27 @@ const CaseStudies: React.FC = () => {
|
||||
))}
|
||||
</section>
|
||||
|
||||
<section className="bg-slate-950/70 border-y border-white/5">
|
||||
<section className="bg-slate-50/70 border-y border-slate-200">
|
||||
<div className="max-w-6xl mx-auto px-6 py-24 grid grid-cols-1 md:grid-cols-2 gap-12">
|
||||
<div className="space-y-4">
|
||||
<h4 className="text-lg font-semibold text-white">Results you can expect</h4>
|
||||
<ul className="space-y-3 text-sm text-white/70">
|
||||
<h4 className="text-lg font-semibold text-slate-900">Results you can expect</h4>
|
||||
<ul className="space-y-3 text-sm text-slate-600">
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
30-60 day onboarding to deploy automation and Thinker governance.
|
||||
</li>
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
3-5× increase in content throughput without sacrificing editorial quality.
|
||||
</li>
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
Clear ROI dashboards tying automation to revenue outcomes.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-10 space-y-4 text-sm text-white/70">
|
||||
<h4 className="text-lg font-semibold text-white">Customer advisory board</h4>
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-10 space-y-4 text-sm text-slate-600">
|
||||
<h4 className="text-lg font-semibold text-slate-900">Customer advisory board</h4>
|
||||
<p>
|
||||
Igny8’s roadmap is shaped by an active community of customer strategists, agency partners, and product marketers. Join and get early access to features, template libraries, and industry benchmarks.
|
||||
</p>
|
||||
|
||||
@@ -4,7 +4,7 @@ import CTASection from "../components/CTASection";
|
||||
|
||||
const Contact: React.FC = () => {
|
||||
return (
|
||||
<div className="bg-[#050913] text-white">
|
||||
<div className="bg-white text-slate-900">
|
||||
<section className="max-w-4xl mx-auto px-6 pt-24 pb-12">
|
||||
<SectionHeading
|
||||
eyebrow="Contact"
|
||||
@@ -14,50 +14,50 @@ const Contact: React.FC = () => {
|
||||
</section>
|
||||
|
||||
<section className="max-w-5xl mx-auto px-6 pb-24 grid grid-cols-1 lg:grid-cols-2 gap-12">
|
||||
<form className="rounded-3xl border border-white/10 bg-white/5 p-10 space-y-6">
|
||||
<form className="rounded-3xl border border-slate-200 bg-white p-10 space-y-6">
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
||||
<label className="flex flex-col gap-2 text-sm text-white/70">
|
||||
<label className="flex flex-col gap-2 text-sm text-slate-600">
|
||||
First name
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Alex"
|
||||
className="rounded-xl border border-white/15 bg-slate-950/60 px-4 py-3 text-sm text-white placeholder:text-white/40 focus:outline-none focus:border-brand-400"
|
||||
className="rounded-xl border border-slate-200 bg-slate-50/60 px-4 py-3 text-sm text-slate-900 placeholder:text-slate-500 focus:outline-none focus:border-brand-400"
|
||||
/>
|
||||
</label>
|
||||
<label className="flex flex-col gap-2 text-sm text-white/70">
|
||||
<label className="flex flex-col gap-2 text-sm text-slate-600">
|
||||
Last name
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Rivera"
|
||||
className="rounded-xl border border-white/15 bg-slate-950/60 px-4 py-3 text-sm text-white placeholder:text-white/40 focus:outline-none focus:border-brand-400"
|
||||
className="rounded-xl border border-slate-200 bg-slate-50/60 px-4 py-3 text-sm text-slate-900 placeholder:text-slate-500 focus:outline-none focus:border-brand-400"
|
||||
/>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<label className="flex flex-col gap-2 text-sm text-white/70">
|
||||
<label className="flex flex-col gap-2 text-sm text-slate-600">
|
||||
Work email
|
||||
<input
|
||||
type="email"
|
||||
placeholder="you@company.com"
|
||||
className="rounded-xl border border-white/15 bg-slate-950/60 px-4 py-3 text-sm text-white placeholder:text-white/40 focus:outline-none focus:border-brand-400"
|
||||
className="rounded-xl border border-slate-200 bg-slate-50/60 px-4 py-3 text-sm text-slate-900 placeholder:text-slate-500 focus:outline-none focus:border-brand-400"
|
||||
/>
|
||||
</label>
|
||||
|
||||
<label className="flex flex-col gap-2 text-sm text-white/70">
|
||||
<label className="flex flex-col gap-2 text-sm text-slate-600">
|
||||
Company
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Company name"
|
||||
className="rounded-xl border border-white/15 bg-slate-950/60 px-4 py-3 text-sm text-white placeholder:text-white/40 focus:outline-none focus:border-brand-400"
|
||||
className="rounded-xl border border-slate-200 bg-slate-50/60 px-4 py-3 text-sm text-slate-900 placeholder:text-slate-500 focus:outline-none focus:border-brand-400"
|
||||
/>
|
||||
</label>
|
||||
|
||||
<label className="flex flex-col gap-2 text-sm text-white/70">
|
||||
<label className="flex flex-col gap-2 text-sm text-slate-600">
|
||||
How can we help?
|
||||
<textarea
|
||||
rows={4}
|
||||
placeholder="Tell us about your current workflow, challenges, and goals."
|
||||
className="rounded-xl border border-white/15 bg-slate-950/60 px-4 py-3 text-sm text-white placeholder:text-white/40 focus:outline-none focus:border-brand-400 resize-none"
|
||||
className="rounded-xl border border-slate-200 bg-slate-50/60 px-4 py-3 text-sm text-slate-900 placeholder:text-slate-500 focus:outline-none focus:border-brand-400 resize-none"
|
||||
/>
|
||||
</label>
|
||||
|
||||
@@ -70,9 +70,9 @@ const Contact: React.FC = () => {
|
||||
</form>
|
||||
|
||||
<div className="space-y-8">
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-8 space-y-4 text-sm text-white/70">
|
||||
<h3 className="text-lg font-semibold text-white">Calendly placeholder</h3>
|
||||
<div className="aspect-[4/3] rounded-2xl border border-white/10 bg-slate-900 flex items-center justify-center text-xs text-white/40">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-8 space-y-4 text-sm text-slate-600">
|
||||
<h3 className="text-lg font-semibold text-slate-900">Calendly placeholder</h3>
|
||||
<div className="aspect-[4/3] rounded-2xl border border-slate-200 bg-slate-100 flex items-center justify-center text-xs text-slate-500">
|
||||
Embed Calendly iframe here
|
||||
</div>
|
||||
<p>
|
||||
@@ -84,19 +84,19 @@ const Contact: React.FC = () => {
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-8 space-y-4">
|
||||
<h3 className="text-lg font-semibold text-white">Support perks</h3>
|
||||
<ul className="space-y-3 text-sm text-white/70">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-8 space-y-4">
|
||||
<h3 className="text-lg font-semibold text-slate-900">Support perks</h3>
|
||||
<ul className="space-y-3 text-sm text-slate-600">
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
24-hour response time on all Launch+ plans.
|
||||
</li>
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
Dedicated success architect for Scale and Enterprise.
|
||||
</li>
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
Migration services when replacing legacy content stacks.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -17,7 +17,7 @@ import CTASection from "../components/CTASection";
|
||||
|
||||
const Home: React.FC = () => {
|
||||
return (
|
||||
<div className="bg-[#050913]">
|
||||
<div className="bg-white">
|
||||
<HeroSection
|
||||
image="hero-dashboard.png"
|
||||
headline="Scale SEO content from keyword discovery to AI-crafted outputs."
|
||||
@@ -86,32 +86,32 @@ const Home: React.FC = () => {
|
||||
description="Monitor velocity, quality, and automation coverage across every site. Use filters to dive into sectors, teams, and campaigns. Igny8 keeps leadership confident and operations aligned."
|
||||
align="left"
|
||||
/>
|
||||
<ul className="space-y-4 text-sm text-white/70">
|
||||
<ul className="space-y-4 text-sm text-slate-600">
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-2 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-2 rounded-full bg-brand-500" />
|
||||
Real-time metrics on keyword additions, clusters formed, briefs generated, and content shipped.
|
||||
</li>
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-2 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-2 rounded-full bg-brand-500" />
|
||||
Drill into automation logs to understand every AI action, approvals, and handoffs.
|
||||
</li>
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-2 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-2 rounded-full bg-brand-500" />
|
||||
Export-ready visuals for leadership updates and client reporting.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="relative">
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 overflow-hidden">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white overflow-hidden shadow-lg">
|
||||
<img
|
||||
src="/marketing/images/workflow-overview.png"
|
||||
alt="Workflow overview"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
<div className="absolute -bottom-8 -left-8 md:-left-12 bg-slate-950/80 border border-white/10 rounded-3xl p-6 w-64">
|
||||
<h4 className="text-sm font-semibold text-white/80">Automation snapshot</h4>
|
||||
<p className="text-xs text-white/60 mt-2">
|
||||
<div className="absolute -bottom-8 -left-8 md:-left-12 bg-white border border-slate-200 rounded-3xl p-6 w-64 shadow-lg">
|
||||
<h4 className="text-sm font-semibold text-slate-900">Automation snapshot</h4>
|
||||
<p className="text-xs text-slate-600 mt-2">
|
||||
87 keywords → 63 briefs → 48 articles → 48 image sets generated this week.
|
||||
</p>
|
||||
</div>
|
||||
@@ -140,10 +140,10 @@ const Home: React.FC = () => {
|
||||
].map((item) => (
|
||||
<div
|
||||
key={item.title}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-8 space-y-4"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-8 space-y-4 shadow-sm hover:shadow-md transition"
|
||||
>
|
||||
<h3 className="text-lg font-semibold text-white">{item.title}</h3>
|
||||
<p className="text-sm text-white/60 leading-relaxed">{item.description}</p>
|
||||
<h3 className="text-lg font-semibold text-slate-900">{item.title}</h3>
|
||||
<p className="text-sm text-slate-600 leading-relaxed">{item.description}</p>
|
||||
</div>
|
||||
))}
|
||||
</section>
|
||||
|
||||
@@ -31,7 +31,7 @@ const tiers = [
|
||||
|
||||
const Partners: React.FC = () => {
|
||||
return (
|
||||
<div className="bg-[#050913] text-white">
|
||||
<div className="bg-white text-slate-900">
|
||||
<section className="max-w-6xl mx-auto px-6 pt-24 pb-16">
|
||||
<SectionHeading
|
||||
eyebrow="Partners"
|
||||
@@ -44,16 +44,16 @@ const Partners: React.FC = () => {
|
||||
{tiers.map((tier) => (
|
||||
<div
|
||||
key={tier.title}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-8 flex flex-col gap-5"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-8 flex flex-col gap-5"
|
||||
>
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-white/40">
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-slate-500">
|
||||
Program
|
||||
</span>
|
||||
<h3 className="text-xl font-semibold text-white">{tier.title}</h3>
|
||||
<ul className="space-y-3 text-sm text-white/70">
|
||||
<h3 className="text-xl font-semibold text-slate-900">{tier.title}</h3>
|
||||
<ul className="space-y-3 text-sm text-slate-600">
|
||||
{tier.benefits.map((benefit) => (
|
||||
<li key={benefit} className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
{benefit}
|
||||
</li>
|
||||
))}
|
||||
@@ -62,7 +62,7 @@ const Partners: React.FC = () => {
|
||||
))}
|
||||
</section>
|
||||
|
||||
<section className="bg-slate-950/70 border-y border-white/5">
|
||||
<section className="bg-slate-50/70 border-y border-slate-200">
|
||||
<div className="max-w-6xl mx-auto px-6 py-24 grid grid-cols-1 lg:grid-cols-2 gap-12">
|
||||
<div className="space-y-6">
|
||||
<SectionHeading
|
||||
@@ -71,23 +71,23 @@ const Partners: React.FC = () => {
|
||||
description="Use Igny8 APIs and webhooks to power your own products, analytics, or client portals. Automate keyword ingestion, content creation, asset delivery, and reporting."
|
||||
align="left"
|
||||
/>
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-6 text-sm text-white/60">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-6 text-sm text-slate-600">
|
||||
API docs placeholder (download at `/marketing/images/api-docs.png`, 1100×720).
|
||||
</div>
|
||||
</div>
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-10 space-y-6">
|
||||
<h4 className="text-lg font-semibold text-white">Partner resources</h4>
|
||||
<ul className="space-y-4 text-sm text-white/70">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-10 space-y-6">
|
||||
<h4 className="text-lg font-semibold text-slate-900">Partner resources</h4>
|
||||
<ul className="space-y-4 text-sm text-slate-600">
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
Sales playbooks, ROI calculators, and demo environments.
|
||||
</li>
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
Shared Slack channels with Igny8 product and marketing teams.
|
||||
</li>
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
Quarterly partner labs to showcase launches and integrations.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -83,14 +83,14 @@ const featureMatrix = [
|
||||
|
||||
const Pricing: React.FC = () => {
|
||||
return (
|
||||
<div className="bg-[#050913] text-white">
|
||||
<div className="bg-white text-slate-900">
|
||||
<section className="max-w-6xl mx-auto px-6 pt-24 pb-16 space-y-8">
|
||||
<SectionHeading
|
||||
eyebrow="Pricing"
|
||||
title="Simple plans that scale with your automation ambitions."
|
||||
description="Transparent pricing for the entire Igny8 platform. No seat-based penalties—every teammate can collaborate freely."
|
||||
/>
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-6 text-sm text-white/60 text-center">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-6 text-sm text-slate-600 text-center">
|
||||
Looking to migrate from an existing AI content stack? Ask about our migration credit and onboarding accelerator.
|
||||
</div>
|
||||
</section>
|
||||
@@ -99,29 +99,29 @@ const Pricing: React.FC = () => {
|
||||
{tiers.map((tier) => (
|
||||
<div
|
||||
key={tier.name}
|
||||
className={`relative rounded-3xl border ${tier.featured ? "border-brand-500/60 bg-brand-500/10 shadow-[0_0_70px_rgba(59,130,246,0.25)]" : "border-white/10 bg-white/5"} p-10 flex flex-col gap-6`}
|
||||
className={`relative rounded-3xl border ${tier.featured ? "border-brand-500/60 bg-brand-500/10 shadow-[0_0_70px_rgba(59,130,246,0.25)]" : "border-slate-200 bg-white"} p-10 flex flex-col gap-6`}
|
||||
>
|
||||
{tier.badge && (
|
||||
<span className="inline-flex items-center self-start rounded-full border border-white/15 bg-white/10 px-4 py-1 text-[11px] uppercase tracking-[0.25em] text-brand-100">
|
||||
<span className="inline-flex items-center self-start rounded-full border border-slate-200 bg-brand-50 px-4 py-1 text-[11px] uppercase tracking-[0.25em] text-brand-700">
|
||||
{tier.badge}
|
||||
</span>
|
||||
)}
|
||||
<div>
|
||||
<h3 className="text-2xl font-semibold text-white">{tier.name}</h3>
|
||||
<p className="text-sm text-white/60 mt-2">{tier.description}</p>
|
||||
<h3 className="text-2xl font-semibold text-slate-900">{tier.name}</h3>
|
||||
<p className="text-sm text-slate-600 mt-2">{tier.description}</p>
|
||||
</div>
|
||||
<div className="text-4xl font-semibold text-white">
|
||||
<div className="text-4xl font-semibold text-slate-900">
|
||||
{tier.price}
|
||||
{tier.cadence && (
|
||||
<span className="text-sm font-normal text-white/50 ml-2">
|
||||
<span className="text-sm font-normal text-slate-500 ml-2">
|
||||
{tier.cadence}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
<ul className="space-y-3 text-sm text-white/70">
|
||||
<ul className="space-y-3 text-sm text-slate-600">
|
||||
{tier.features.map((feature) => (
|
||||
<li key={feature} className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
{feature}
|
||||
</li>
|
||||
))}
|
||||
@@ -131,8 +131,8 @@ const Pricing: React.FC = () => {
|
||||
href={tier.name === "Enterprise" ? "/contact" : "https://app.igny8.com/signup"}
|
||||
className={`inline-flex w-full items-center justify-center rounded-full px-6 py-3 text-sm font-semibold transition ${
|
||||
tier.featured
|
||||
? "bg-white text-slate-950 hover:bg-brand-100"
|
||||
: "border border-white/30 text-white hover:border-white/60"
|
||||
? "bg-white text-slate-900 hover:bg-brand-100"
|
||||
: "border border-slate-300 text-slate-900 hover:border-white/60"
|
||||
}`}
|
||||
>
|
||||
{tier.name === "Enterprise" ? "Contact sales" : "Start free trial"}
|
||||
@@ -143,12 +143,12 @@ const Pricing: React.FC = () => {
|
||||
</section>
|
||||
|
||||
<section className="max-w-6xl mx-auto px-6 pb-24 space-y-10">
|
||||
<h3 className="text-xl font-semibold text-white">
|
||||
<h3 className="text-xl font-semibold text-slate-900">
|
||||
Compare plan capabilities
|
||||
</h3>
|
||||
<div className="overflow-hidden rounded-3xl border border-white/10 bg-white/5">
|
||||
<table className="min-w-full text-sm text-white/70">
|
||||
<thead className="bg-white/5 text-white/60 uppercase text-xs tracking-[0.3em]">
|
||||
<div className="overflow-hidden rounded-3xl border border-slate-200 bg-white">
|
||||
<table className="min-w-full text-sm text-slate-600">
|
||||
<thead className="bg-white text-slate-600 uppercase text-xs tracking-[0.3em]">
|
||||
<tr>
|
||||
<th className="px-6 py-4 text-left">Capability</th>
|
||||
<th className="px-6 py-4 text-center">Launch</th>
|
||||
@@ -159,7 +159,7 @@ const Pricing: React.FC = () => {
|
||||
<tbody>
|
||||
{featureMatrix.map((row, index) => (
|
||||
<tr key={row.feature} className={index % 2 === 0 ? "bg-white/3" : ""}>
|
||||
<td className="px-6 py-5 text-white font-medium">{row.feature}</td>
|
||||
<td className="px-6 py-5 text-slate-900 font-medium">{row.feature}</td>
|
||||
<td className="px-6 py-5 text-center">
|
||||
{row.launch === true ? "Included" : row.launch}
|
||||
</td>
|
||||
@@ -176,10 +176,10 @@ const Pricing: React.FC = () => {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="bg-slate-950/70 border-y border-white/5">
|
||||
<div className="max-w-6xl mx-auto px-6 py-24 grid grid-cols-1 md:grid-cols-2 gap-12 text-sm text-white/70">
|
||||
<section className="bg-slate-50/70 border-y border-slate-200">
|
||||
<div className="max-w-6xl mx-auto px-6 py-24 grid grid-cols-1 md:grid-cols-2 gap-12 text-sm text-slate-600">
|
||||
<div className="space-y-4">
|
||||
<h4 className="text-lg font-semibold text-white">
|
||||
<h4 className="text-lg font-semibold text-slate-900">
|
||||
Usage-based credits explained
|
||||
</h4>
|
||||
<p>
|
||||
@@ -190,7 +190,7 @@ const Pricing: React.FC = () => {
|
||||
</p>
|
||||
</div>
|
||||
<div className="space-y-4">
|
||||
<h4 className="text-lg font-semibold text-white">
|
||||
<h4 className="text-lg font-semibold text-slate-900">
|
||||
Security & compliance
|
||||
</h4>
|
||||
<p>
|
||||
|
||||
@@ -4,7 +4,7 @@ import CTASection from "../components/CTASection";
|
||||
|
||||
const Product: React.FC = () => {
|
||||
return (
|
||||
<div className="bg-[#050913] text-white">
|
||||
<div className="bg-white text-slate-900">
|
||||
<section className="max-w-6xl mx-auto px-6 pt-24 pb-16">
|
||||
<div className="grid grid-cols-1 lg:grid-cols-2 gap-16 items-center">
|
||||
<div className="space-y-6">
|
||||
@@ -14,8 +14,8 @@ const Product: React.FC = () => {
|
||||
description="Planner, Writer, Thinker, and Automation act as one cohesive system. Each module is powerful on its own—together they deliver a compounding growth engine."
|
||||
align="left"
|
||||
/>
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-6 space-y-4 text-sm text-white/70">
|
||||
<div className="flex items-center justify-between text-white">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-6 space-y-4 text-sm text-slate-600">
|
||||
<div className="flex items-center justify-between text-slate-900">
|
||||
<span className="font-semibold">Modules included</span>
|
||||
<span>4 products · 12 automation recipes</span>
|
||||
</div>
|
||||
@@ -27,7 +27,7 @@ const Product: React.FC = () => {
|
||||
"Automation → Run scheduled workflows that move keywords to ideas, tasks, content, and images automatically.",
|
||||
].map((point) => (
|
||||
<li key={point} className="flex gap-3">
|
||||
<span className="mt-1 size-2 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-2 rounded-full bg-brand-500" />
|
||||
{point}
|
||||
</li>
|
||||
))}
|
||||
@@ -35,7 +35,7 @@ const Product: React.FC = () => {
|
||||
</div>
|
||||
</div>
|
||||
<div className="relative">
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 overflow-hidden">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white overflow-hidden">
|
||||
<img
|
||||
src="/marketing/images/planner-keywords.png"
|
||||
alt="Planner module screenshot"
|
||||
@@ -93,22 +93,22 @@ const Product: React.FC = () => {
|
||||
].map((module) => (
|
||||
<div
|
||||
key={module.title}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-10 flex flex-col gap-6"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-10 flex flex-col gap-6"
|
||||
>
|
||||
<div className="flex items-center gap-3 text-sm uppercase tracking-[0.3em] text-white/40">
|
||||
<span className="size-2 rounded-full bg-brand-300" />
|
||||
<div className="flex items-center gap-3 text-sm uppercase tracking-[0.3em] text-slate-900/40">
|
||||
<span className="size-2 rounded-full bg-brand-500" />
|
||||
{module.title}
|
||||
</div>
|
||||
<h3 className="text-2xl font-semibold text-white">{module.title} platform</h3>
|
||||
<ul className="space-y-3 text-sm text-white/65">
|
||||
<h3 className="text-2xl font-semibold text-slate-900">{module.title} platform</h3>
|
||||
<ul className="space-y-3 text-sm text-slate-900/65">
|
||||
{module.copy.map((line) => (
|
||||
<li key={line} className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-200" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
{line}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
<div className="rounded-2xl border border-white/10 bg-slate-900 overflow-hidden">
|
||||
<div className="rounded-2xl border border-slate-200 bg-slate-100 overflow-hidden">
|
||||
<img
|
||||
src={`/marketing/images/${module.image}`}
|
||||
alt={`${module.title} module`}
|
||||
@@ -121,7 +121,7 @@ const Product: React.FC = () => {
|
||||
</section>
|
||||
|
||||
<section className="max-w-6xl mx-auto px-6 py-24">
|
||||
<div className="rounded-3xl border border-white/10 bg-gradient-to-br from-white/5 via-transparent to-slate-950/60 p-10 md:p-16 flex flex-col lg:flex-row gap-16">
|
||||
<div className="rounded-3xl border border-slate-200 bg-gradient-to-br from-brand-50 via-white to-slate-50 p-10 md:p-16 flex flex-col lg:flex-row gap-16">
|
||||
<div className="flex-1 space-y-6">
|
||||
<SectionHeading
|
||||
eyebrow="Automation timeline"
|
||||
@@ -129,7 +129,7 @@ const Product: React.FC = () => {
|
||||
description="Igny8 timelines map dependencies across your workflow so you can see how AI is powering each deliverable. Pause or accelerate with confidence."
|
||||
align="left"
|
||||
/>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 text-sm text-white/70">
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-6 text-sm text-slate-600">
|
||||
{[
|
||||
"Real-time status for every automation recipe with success rates and manual interventions logged.",
|
||||
"Smart recommendations to rebalance workloads, add credits, or adjust prompts when performance shifts.",
|
||||
@@ -137,14 +137,14 @@ const Product: React.FC = () => {
|
||||
"Granular permissions so teams can automate while leadership maintains oversight.",
|
||||
].map((item) => (
|
||||
<div key={item} className="flex gap-3">
|
||||
<span className="mt-1 size-2 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-2 rounded-full bg-brand-500" />
|
||||
{item}
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 overflow-hidden">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white overflow-hidden">
|
||||
<img
|
||||
src="/marketing/images/automation-timeline.png"
|
||||
alt="Automation timeline"
|
||||
|
||||
@@ -38,7 +38,7 @@ const webinars = [
|
||||
|
||||
const Resources: React.FC = () => {
|
||||
return (
|
||||
<div className="bg-[#050913] text-white">
|
||||
<div className="bg-white text-slate-900">
|
||||
<section className="max-w-6xl mx-auto px-6 pt-24 pb-16 space-y-6">
|
||||
<SectionHeading
|
||||
eyebrow="Resources"
|
||||
@@ -51,32 +51,32 @@ const Resources: React.FC = () => {
|
||||
{articles.map((article) => (
|
||||
<article
|
||||
key={article.title}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-8 flex flex-col gap-6"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-8 flex flex-col gap-6"
|
||||
>
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-white/40">
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-slate-500">
|
||||
{article.date}
|
||||
</span>
|
||||
<h3 className="text-xl font-semibold text-white">{article.title}</h3>
|
||||
<p className="text-sm text-white/70 leading-relaxed">{article.description}</p>
|
||||
<div className="rounded-2xl border border-white/10 bg-slate-900 h-40 flex items-center justify-center text-xs text-white/40">
|
||||
<h3 className="text-xl font-semibold text-slate-900">{article.title}</h3>
|
||||
<p className="text-sm text-slate-600 leading-relaxed">{article.description}</p>
|
||||
<div className="rounded-2xl border border-slate-200 bg-slate-100 h-40 flex items-center justify-center text-xs text-slate-500">
|
||||
Article cover placeholder (800×600) → /marketing/images/resource-hero.png
|
||||
</div>
|
||||
</article>
|
||||
))}
|
||||
</section>
|
||||
|
||||
<section className="bg-slate-950/70 border-y border-white/5">
|
||||
<section className="bg-slate-50/70 border-y border-slate-200">
|
||||
<div className="max-w-6xl mx-auto px-6 py-24 grid grid-cols-1 md:grid-cols-2 gap-8">
|
||||
{webinars.map((webinar) => (
|
||||
<div
|
||||
key={webinar.title}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-8 flex flex-col gap-4"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-8 flex flex-col gap-4"
|
||||
>
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-white/40">
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-slate-500">
|
||||
{webinar.date}
|
||||
</span>
|
||||
<h3 className="text-lg font-semibold text-white">{webinar.title}</h3>
|
||||
<p className="text-sm text-white/70">{webinar.description}</p>
|
||||
<h3 className="text-lg font-semibold text-slate-900">{webinar.title}</h3>
|
||||
<p className="text-sm text-slate-600">{webinar.description}</p>
|
||||
<button className="inline-flex items-center justify-center rounded-full bg-brand-500 hover:bg-brand-400 px-5 py-2 text-sm font-semibold">
|
||||
Save my seat
|
||||
</button>
|
||||
@@ -93,31 +93,31 @@ const Resources: React.FC = () => {
|
||||
description="Dive into documentation, watch quickstart videos, or join live onboarding cohorts."
|
||||
align="left"
|
||||
/>
|
||||
<ul className="space-y-3 text-sm text-white/70">
|
||||
<ul className="space-y-3 text-sm text-slate-600">
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
Help Center → `/help`
|
||||
</li>
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
Documentation → `/help#docs`
|
||||
</li>
|
||||
<li className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
API Reference → `/partners#api`
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-10 space-y-6">
|
||||
<h3 className="text-2xl font-semibold text-white">Join the Igny8 newsletter</h3>
|
||||
<p className="text-sm text-white/60">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-10 space-y-6">
|
||||
<h3 className="text-2xl font-semibold text-slate-900">Join the Igny8 newsletter</h3>
|
||||
<p className="text-sm text-slate-600">
|
||||
Monthly insights on AI, SEO, and automation. No fluff—just tactical guidance and event invites.
|
||||
</p>
|
||||
<form className="flex flex-col sm:flex-row gap-3">
|
||||
<input
|
||||
type="email"
|
||||
placeholder="you@company.com"
|
||||
className="flex-1 rounded-full border border-white/15 bg-slate-950/60 px-4 py-3 text-sm text-white placeholder:text-white/40 focus:outline-none focus:border-brand-400"
|
||||
className="flex-1 rounded-full border border-slate-200 bg-slate-50/60 px-4 py-3 text-sm text-slate-900 placeholder:text-slate-500 focus:outline-none focus:border-brand-400"
|
||||
/>
|
||||
<button
|
||||
type="submit"
|
||||
|
||||
@@ -49,7 +49,7 @@ const personas = [
|
||||
|
||||
const Solutions: React.FC = () => {
|
||||
return (
|
||||
<div className="bg-[#050913] text-white">
|
||||
<div className="bg-white text-slate-900">
|
||||
<section className="max-w-6xl mx-auto px-6 pt-24 pb-16">
|
||||
<SectionHeading
|
||||
eyebrow="Solutions"
|
||||
@@ -62,14 +62,14 @@ const Solutions: React.FC = () => {
|
||||
{personas.map((persona) => (
|
||||
<div
|
||||
key={persona.name}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-10 md:p-16 grid grid-cols-1 lg:grid-cols-3 gap-12"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-10 md:p-16 grid grid-cols-1 lg:grid-cols-3 gap-12"
|
||||
>
|
||||
<div className="lg:col-span-1 space-y-4">
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-white/50">
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-slate-500">
|
||||
Persona
|
||||
</span>
|
||||
<h3 className="text-2xl font-semibold">{persona.name}</h3>
|
||||
<div className="rounded-2xl border border-white/10 bg-slate-900 overflow-hidden">
|
||||
<div className="rounded-2xl border border-slate-200 bg-slate-100 overflow-hidden">
|
||||
<img
|
||||
src={`/marketing/images/${persona.image}`}
|
||||
alt={`${persona.name} workflow`}
|
||||
@@ -78,10 +78,10 @@ const Solutions: React.FC = () => {
|
||||
</div>
|
||||
</div>
|
||||
<div className="space-y-6">
|
||||
<h4 className="text-sm uppercase tracking-[0.3em] text-white/40">
|
||||
<h4 className="text-sm uppercase tracking-[0.3em] text-slate-500">
|
||||
Pain points
|
||||
</h4>
|
||||
<ul className="space-y-4 text-sm text-white/70">
|
||||
<ul className="space-y-4 text-sm text-slate-600">
|
||||
{persona.pains.map((pain) => (
|
||||
<li key={pain} className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-rose-300" />
|
||||
@@ -91,13 +91,13 @@ const Solutions: React.FC = () => {
|
||||
</ul>
|
||||
</div>
|
||||
<div className="space-y-6">
|
||||
<h4 className="text-sm uppercase tracking-[0.3em] text-white/40">
|
||||
<h4 className="text-sm uppercase tracking-[0.3em] text-slate-500">
|
||||
Outcomes with Igny8
|
||||
</h4>
|
||||
<ul className="space-y-4 text-sm text-white/70">
|
||||
<ul className="space-y-4 text-sm text-slate-600">
|
||||
{persona.outcomes.map((outcome) => (
|
||||
<li key={outcome} className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
{outcome}
|
||||
</li>
|
||||
))}
|
||||
@@ -107,7 +107,7 @@ const Solutions: React.FC = () => {
|
||||
))}
|
||||
</section>
|
||||
|
||||
<section className="bg-slate-950/70 border-y border-white/5">
|
||||
<section className="bg-slate-50/70 border-y border-slate-200">
|
||||
<div className="max-w-6xl mx-auto px-6 py-24 grid grid-cols-1 md:grid-cols-3 gap-8">
|
||||
{[
|
||||
{
|
||||
@@ -125,10 +125,10 @@ const Solutions: React.FC = () => {
|
||||
].map((item) => (
|
||||
<div
|
||||
key={item.metric}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-8 text-center space-y-4"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-8 text-center space-y-4"
|
||||
>
|
||||
<div className="text-4xl font-semibold">{item.metric}</div>
|
||||
<p className="text-sm text-white/60">{item.label}</p>
|
||||
<p className="text-sm text-slate-600">{item.label}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
@@ -31,15 +31,15 @@ const tourSteps = [
|
||||
|
||||
const Tour: React.FC = () => {
|
||||
return (
|
||||
<div className="bg-[#050913] text-white">
|
||||
<div className="bg-white text-slate-900">
|
||||
<section className="max-w-6xl mx-auto px-6 pt-24 pb-16 space-y-6">
|
||||
<SectionHeading
|
||||
eyebrow="Guided Tour"
|
||||
title="Experience the entire Igny8 journey in minutes."
|
||||
description="Walk through the workflow that moves market intelligence into production-ready content. Each step builds toward an automated growth flywheel."
|
||||
/>
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-8">
|
||||
<div className="aspect-video rounded-2xl border border-white/10 bg-slate-900 flex items-center justify-center text-white/40 text-sm">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-8">
|
||||
<div className="aspect-video rounded-2xl border border-slate-200 bg-slate-100 flex items-center justify-center text-slate-500 text-sm">
|
||||
Video walkthrough placeholder (embed demo or Loom)
|
||||
</div>
|
||||
</div>
|
||||
@@ -52,13 +52,13 @@ const Tour: React.FC = () => {
|
||||
className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center"
|
||||
>
|
||||
<div className={`space-y-4 ${index % 2 === 1 ? "lg:order-2" : ""}`}>
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-white/50">
|
||||
<span className="text-xs uppercase tracking-[0.3em] text-slate-500">
|
||||
Step {index + 1}
|
||||
</span>
|
||||
<h3 className="text-2xl font-semibold">{step.title}</h3>
|
||||
<p className="text-sm text-white/70 leading-relaxed">{step.description}</p>
|
||||
<p className="text-sm text-slate-600 leading-relaxed">{step.description}</p>
|
||||
</div>
|
||||
<div className={`rounded-3xl border border-white/10 bg-white/5 overflow-hidden ${index % 2 === 1 ? "lg:order-1" : ""}`}>
|
||||
<div className={`rounded-3xl border border-slate-200 bg-white overflow-hidden ${index % 2 === 1 ? "lg:order-1" : ""}`}>
|
||||
<img
|
||||
src={`/marketing/images/${step.image}`}
|
||||
alt={step.title}
|
||||
@@ -69,14 +69,14 @@ const Tour: React.FC = () => {
|
||||
))}
|
||||
</section>
|
||||
|
||||
<section className="bg-slate-950/70 border-y border-white/5">
|
||||
<section className="bg-slate-50/70 border-y border-slate-200">
|
||||
<div className="max-w-6xl mx-auto px-6 py-24 space-y-10">
|
||||
<SectionHeading
|
||||
eyebrow="Automation recipes"
|
||||
title="Pre-built workflows you can launch on day one."
|
||||
description="Activate automation templates or customize them in minutes. Igny8 tracks dependencies, statuses, and handoffs."
|
||||
/>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6 text-sm text-white/70">
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6 text-sm text-slate-600">
|
||||
{[
|
||||
{ name: "Keywords → Ideas", time: "Nightly", highlight: "Targets new opportunities" },
|
||||
{ name: "Ideas → Tasks", time: "Daily", highlight: "Staff writers automatically" },
|
||||
@@ -87,10 +87,10 @@ const Tour: React.FC = () => {
|
||||
].map((recipe) => (
|
||||
<div
|
||||
key={recipe.name}
|
||||
className="rounded-3xl border border-white/10 bg-white/5 p-6 space-y-3"
|
||||
className="rounded-3xl border border-slate-200 bg-white p-6 space-y-3"
|
||||
>
|
||||
<h4 className="text-base font-semibold text-white">{recipe.name}</h4>
|
||||
<div className="text-xs uppercase tracking-[0.3em] text-white/40">
|
||||
<h4 className="text-base font-semibold text-slate-900">{recipe.name}</h4>
|
||||
<div className="text-xs uppercase tracking-[0.3em] text-slate-500">
|
||||
{recipe.time}
|
||||
</div>
|
||||
<p>{recipe.highlight}</p>
|
||||
|
||||
@@ -19,7 +19,7 @@ const roadmapItems = [
|
||||
|
||||
const Waitlist: React.FC = () => {
|
||||
return (
|
||||
<div className="bg-[#050913] text-white">
|
||||
<div className="bg-white text-slate-900">
|
||||
<section className="max-w-4xl mx-auto px-6 pt-24 pb-12">
|
||||
<SectionHeading
|
||||
eyebrow="Roadmap preview"
|
||||
@@ -29,26 +29,26 @@ const Waitlist: React.FC = () => {
|
||||
</section>
|
||||
|
||||
<section className="max-w-5xl mx-auto px-6 pb-24 grid grid-cols-1 lg:grid-cols-2 gap-12">
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-10 space-y-6">
|
||||
<h3 className="text-lg font-semibold text-white">Join the waitlist</h3>
|
||||
<p className="text-sm text-white/70">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-10 space-y-6">
|
||||
<h3 className="text-lg font-semibold text-slate-900">Join the waitlist</h3>
|
||||
<p className="text-sm text-slate-600">
|
||||
Share your details and we’ll invite you to beta cohorts with onboarding resources and direct feedback loops to our product team.
|
||||
</p>
|
||||
<form className="space-y-4">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Name"
|
||||
className="w-full rounded-xl border border-white/15 bg-slate-950/60 px-4 py-3 text-sm text-white placeholder:text-white/40 focus:outline-none focus:border-brand-400"
|
||||
className="w-full rounded-xl border border-slate-200 bg-slate-50/60 px-4 py-3 text-sm text-slate-900 placeholder:text-slate-500 focus:outline-none focus:border-brand-400"
|
||||
/>
|
||||
<input
|
||||
type="email"
|
||||
placeholder="Work email"
|
||||
className="w-full rounded-xl border border-white/15 bg-slate-950/60 px-4 py-3 text-sm text-white placeholder:text-white/40 focus:outline-none focus:border-brand-400"
|
||||
className="w-full rounded-xl border border-slate-200 bg-slate-50/60 px-4 py-3 text-sm text-slate-900 placeholder:text-slate-500 focus:outline-none focus:border-brand-400"
|
||||
/>
|
||||
<textarea
|
||||
rows={4}
|
||||
placeholder="Tell us about your current workflow and why you're excited."
|
||||
className="w-full rounded-xl border border-white/15 bg-slate-950/60 px-4 py-3 text-sm text-white placeholder:text-white/40 focus:outline-none focus:border-brand-400 resize-none"
|
||||
className="w-full rounded-xl border border-slate-200 bg-slate-50/60 px-4 py-3 text-sm text-slate-900 placeholder:text-slate-500 focus:outline-none focus:border-brand-400 resize-none"
|
||||
/>
|
||||
<button
|
||||
type="submit"
|
||||
@@ -60,22 +60,22 @@ const Waitlist: React.FC = () => {
|
||||
</div>
|
||||
|
||||
<div className="space-y-6">
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-8 space-y-4">
|
||||
<h4 className="text-lg font-semibold text-white">What’s coming</h4>
|
||||
<ul className="space-y-3 text-sm text-white/70">
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-8 space-y-4">
|
||||
<h4 className="text-lg font-semibold text-slate-900">What's coming</h4>
|
||||
<ul className="space-y-3 text-sm text-slate-600">
|
||||
{roadmapItems.map((item) => (
|
||||
<li key={item.title} className="flex gap-3">
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-300" />
|
||||
<span className="mt-1 size-1.5 rounded-full bg-brand-500" />
|
||||
<div>
|
||||
<div className="font-semibold text-white">{item.title}</div>
|
||||
<div className="font-semibold text-slate-900">{item.title}</div>
|
||||
<div>{item.description}</div>
|
||||
</div>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</div>
|
||||
<div className="rounded-3xl border border-white/10 bg-white/5 p-8 text-sm text-white/70 space-y-3">
|
||||
<h4 className="text-lg font-semibold text-white">How the beta works</h4>
|
||||
<div className="rounded-3xl border border-slate-200 bg-white p-8 text-sm text-slate-600 space-y-3">
|
||||
<h4 className="text-lg font-semibold text-slate-900">How the beta works</h4>
|
||||
<p>We onboard new features to the waitlist in weekly waves. You’ll receive playbooks, sample workflows, and a feedback channel with our product team.</p>
|
||||
<p>Participants also get extended credits to experiment with automation scenarios.</p>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user