new theme for site

This commit is contained in:
Desktop
2025-11-13 19:55:27 +05:00
parent 3c100be1cf
commit 7ff05f616f
21 changed files with 225 additions and 228 deletions

View File

@@ -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>
Igny8s 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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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"

View File

@@ -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 fluffjust 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"

View File

@@ -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>

View File

@@ -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>

View File

@@ -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 well 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">Whats 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. Youll 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>