19 Commits

Author SHA1 Message Date
60de093eed Update src/app/page.tsx 2026-03-09 13:53:53 +00:00
51fea41093 Merge version_28 into main
Merge version_28 into main
2026-03-09 13:47:37 +00:00
0caadc2db6 Update src/app/page.tsx 2026-03-09 13:47:33 +00:00
60041290b4 Merge version_27 into main
Merge version_27 into main
2026-03-09 13:40:21 +00:00
662dde5c2e Update src/app/page.tsx 2026-03-09 13:40:17 +00:00
75fc83bab8 Update src/app/layout.tsx 2026-03-09 13:40:16 +00:00
1576cdc334 Merge version_26 into main
Merge version_26 into main
2026-03-09 13:36:42 +00:00
0b3045eda6 Update src/app/page.tsx 2026-03-09 13:36:38 +00:00
8ddb5d7b64 Update src/app/layout.tsx 2026-03-09 13:36:37 +00:00
dedf4b0752 Merge version_25 into main
Merge version_25 into main
2026-03-07 07:29:09 +00:00
f33b1d8ff5 Update src/app/page.tsx 2026-03-07 07:29:05 +00:00
8060f0dc6f Update src/app/layout.tsx 2026-03-07 07:29:04 +00:00
033937a08c Switch to version 23: modified src/app/page.tsx 2026-03-07 07:26:21 +00:00
1b63d1b19b Switch to version 23: modified src/app/layout.tsx 2026-03-07 07:26:20 +00:00
fc373efcec Merge version_24 into main
Merge version_24 into main
2026-03-07 07:23:55 +00:00
1df41c0c1e Update src/app/page.tsx 2026-03-07 07:23:50 +00:00
342d16373c Update src/app/layout.tsx 2026-03-07 07:23:50 +00:00
fa55e77820 Merge version_23 into main
Merge version_23 into main
2026-03-07 02:32:56 +00:00
9e8c6e67d1 Merge version_23 into main
Merge version_23 into main
2026-03-07 02:31:06 +00:00
2 changed files with 151 additions and 98 deletions

View File

@@ -5,7 +5,7 @@ import "./globals.css";
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "studio ads - Professional Ad Creatives in 48 Hours", description: "Get agency-quality ad creatives delivered in 48 hours. 40% ROAS increase, 50% cheaper than traditional agencies."
title: "studio ads - Professional Ad Creatives in 48 Hours", description: "Get agency-quality ads in 48 hours with proven 40% ROAS lift. Professional ad creatives delivered fast, 50% cheaper than traditional agencies."
};
export default function RootLayout({

View File

@@ -64,7 +64,7 @@ export default function LandingPage() {
{ name: "Contact", id: "contact" }
]}
button={{
text: "Claim 3 Free Ads", href: "#free-offer"
text: "Get Your Free Ads → See 48-Hour Results", href: "#free-offer"
}}
animateOnLoad={true}
/>
@@ -91,15 +91,15 @@ export default function LandingPage() {
onClick={() => document.getElementById('free-offer')?.scrollIntoView({ behavior: 'smooth' })}
className="w-full py-3 px-4 bg-white text-primary-cta font-semibold rounded-full hover:opacity-90 transition-opacity"
>
Claim 3 Free Ads
Get Your Free Ads
</button>
</div>
)}
<div id="hero" data-section="hero">
<HeroCentered
title="40% ROAS Increase in 48 Hours"
description="Turn 48-hour briefs into conversion-ready creatives. Professional ad creatives delivered in 48 hours instead of 3 weeks. Agency-quality video ads and static creatives, 50% cheaper than traditional agencies."
title="48-Hour Ad Creatives That Drive 40% ROAS"
description="Cut production time from weeks to 2 days. Launch high-converting ads in 48 hours at half the cost of agencies. Get agency-quality video ads and static creatives faster, smarter, and cheaper."
background={{ variant: "downward-rays-animated" }}
avatars={[
{
@@ -114,7 +114,7 @@ export default function LandingPage() {
]}
avatarText="Trusted by 100+ agencies and brands"
buttons={[
{ text: "Claim 3 Free Ads", href: "#free-offer" },
{ text: "Start Free Project", href: "#free-offer" },
{ text: "See Our Work", href: "#features" }
]}
buttonAnimation="slide-up"
@@ -189,44 +189,86 @@ export default function LandingPage() {
</div>
<div id="pain-points" data-section="pain-points">
<FeatureBorderGlow
title="The Old Way vs. The studio ads Way"
description="Stop wasting weeks on ad production. Here's how we're different."
tag="Why Switch"
tagIcon={Zap}
features={[
{
icon: Clock,
title: "3 Weeks Production Time vs 48 Hours", description: "Traditional agencies take weeks for approvals and revisions. We deliver in 48 hours."
},
{
icon: Users,
title: "Managing Multiple Vendors", description: "Juggling designers, videographers, and copywriters. We handle everything under one roof."
},
{
icon: Palette,
title: "Limited Creative Variations", description: "You get one option and hope it works. We create 10+ variations to maximize ROI."
},
{
icon: TrendingUp,
title: "40% Average ROAS Increase", description: "Guessing which creatives will perform best. We optimize based on real data insights."
},
{
icon: CreditCard,
title: "50% Cheaper Than Agencies", description: "Hidden fees and scope creep add up fast. Our pricing is transparent and fixed."
},
{
icon: Sparkles,
title: "Poor Quality at Scale", description: "Agencies cut corners when scaling. We maintain premium quality every single time."
}
]}
animationType="blur-reveal"
textboxLayout="default"
useInvertedBackground={false}
buttons={[
{ text: "Experience the Difference", href: "#features" }
]}
/>
<div className="relative py-16 md:py-24 px-4 bg-background">
<div className="max-w-6xl mx-auto">
<div className="text-center mb-12 md:mb-16">
<div className="inline-block mb-4">
<span className="px-4 py-2 rounded-full bg-primary-cta/10 text-primary-cta text-sm font-semibold flex items-center gap-2">
<Zap size={16} />
Why Switch
</span>
</div>
<h2 className="text-4xl md:text-5xl font-bold text-foreground mb-4">The Old Way vs. The studio ads Way</h2>
<p className="text-foreground/70 text-lg md:text-xl">Stop wasting weeks on ad production. Here's how we're different.</p>
</div>
{/* Comparison Chart */}
<div className="overflow-x-auto">
<table className="w-full text-sm md:text-base">
<thead>
<tr className="border-b-2 border-accent/20 bg-card/50">
<th className="text-left py-4 px-4 md:px-6 font-semibold text-foreground">Feature</th>
<th className="text-center py-4 px-4 md:px-6 font-semibold text-foreground">Traditional Agencies</th>
<th className="text-center py-4 px-4 md:px-6 font-semibold text-primary-cta">studio ads</th>
</tr>
</thead>
<tbody>
<tr className="border-b border-accent/10 hover:bg-card/30 transition-colors">
<td className="py-4 px-4 md:px-6 font-semibold text-foreground">Production Time</td>
<td className="text-center py-4 px-4 md:px-6 text-foreground/70">3-4 Weeks</td>
<td className="text-center py-4 px-4 md:px-6 text-primary-cta font-semibold">48 Hours</td>
</tr>
<tr className="border-b border-accent/10 hover:bg-card/30 transition-colors">
<td className="py-4 px-4 md:px-6 font-semibold text-foreground">Cost per Ad</td>
<td className="text-center py-4 px-4 md:px-6 text-foreground/70">$2,500-5,000</td>
<td className="text-center py-4 px-4 md:px-6 text-primary-cta font-semibold">$500-1,500</td>
</tr>
<tr className="border-b border-accent/10 hover:bg-card/30 transition-colors">
<td className="py-4 px-4 md:px-6 font-semibold text-foreground">Creative Variations</td>
<td className="text-center py-4 px-4 md:px-6 text-foreground/70">1-3 Base Concepts</td>
<td className="text-center py-4 px-4 md:px-6 text-primary-cta font-semibold">10+ Included</td>
</tr>
<tr className="border-b border-accent/10 hover:bg-card/30 transition-colors">
<td className="py-4 px-4 md:px-6 font-semibold text-foreground">Revision Rounds</td>
<td className="text-center py-4 px-4 md:px-6 text-foreground/70">Limited / Extra Cost</td>
<td className="text-center py-4 px-4 md:px-6 text-primary-cta font-semibold">Unlimited (48hr)</td>
</tr>
<tr className="border-b border-accent/10 hover:bg-card/30 transition-colors">
<td className="py-4 px-4 md:px-6 font-semibold text-foreground">Platform Optimization</td>
<td className="text-center py-4 px-4 md:px-6 text-foreground/70">Limited Formats</td>
<td className="text-center py-4 px-4 md:px-6 text-primary-cta font-semibold">All Major Platforms</td>
</tr>
<tr className="border-b border-accent/10 hover:bg-card/30 transition-colors">
<td className="py-4 px-4 md:px-6 font-semibold text-foreground">Average ROAS Lift</td>
<td className="text-center py-4 px-4 md:px-6 text-foreground/70">20-25% Average</td>
<td className="text-center py-4 px-4 md:px-6 text-primary-cta font-semibold">40% Average</td>
</tr>
<tr className="border-b border-accent/10 hover:bg-card/30 transition-colors">
<td className="py-4 px-4 md:px-6 font-semibold text-foreground">Account Manager</td>
<td className="text-center py-4 px-4 md:px-6 text-foreground/70">Always Included</td>
<td className="text-center py-4 px-4 md:px-6 text-primary-cta font-semibold">Growth+ Plans</td>
</tr>
<tr className="hover:bg-card/30 transition-colors">
<td className="py-4 px-4 md:px-6 font-semibold text-foreground">Setup/Onboarding</td>
<td className="text-center py-4 px-4 md:px-6 text-foreground/70">2-4 Weeks</td>
<td className="text-center py-4 px-4 md:px-6 text-primary-cta font-semibold">Minimal</td>
</tr>
</tbody>
</table>
</div>
<div className="mt-12 text-center">
<button
onClick={() => document.getElementById('features')?.scrollIntoView({ behavior: 'smooth' })}
className="inline-flex items-center gap-2 px-8 py-3 rounded-full bg-primary-cta text-primary-cta-text hover:opacity-90 transition-opacity font-semibold"
aria-label="View features"
>
<span>Experience the Difference</span>
<ArrowRight size={18} />
</button>
</div>
</div>
</div>
</div>
<div id="features" data-section="features">
@@ -312,7 +354,8 @@ export default function LandingPage() {
<div className="max-w-2xl mx-auto">
<div className="text-center mb-8">
<h2 className="text-3xl md:text-4xl font-bold text-foreground mb-3">Claim Your 3 Free Ads Now</h2>
<p className="text-foreground/70 mb-6">Try our service risk-free. No credit card required upfront. Get agency-quality ad creatives delivered in 48 hours.</p>
<p className="text-foreground/70 mb-2">Try our service risk-free. No credit card required upfront. Get agency-quality ad creatives delivered in 48 hours.</p>
<p className="text-primary-cta font-semibold text-sm md:text-base mb-6">Only 3 spots left this week</p>
</div>
<div className="flex flex-col gap-4 max-w-lg mx-auto">
@@ -328,14 +371,14 @@ export default function LandingPage() {
onClick={handleUrlSubmit}
className="px-6 py-3 bg-primary-cta text-primary-cta-text font-semibold rounded-full hover:opacity-90 transition-opacity whitespace-nowrap"
>
Submit
Claim Free Ads
</button>
</div>
<button
onClick={handleUrlSubmit}
className="w-full py-4 px-6 bg-primary-cta text-primary-cta-text font-semibold rounded-full hover:opacity-90 transition-opacity text-lg"
>
Claim 3 Free Ads Now
Claim Free Ads
</button>
</div>
@@ -424,7 +467,7 @@ export default function LandingPage() {
tagIcon={CreditCard}
plans={[
{
id: "growth", badge: "Growth - Most Popular - 40% ROAS Lift", badgeIcon: ZapIcon,
id: "growth", badge: "Growth - Most Popular - Guaranteed 40% ROAS Lift", badgeIcon: ZapIcon,
price: "$5,000", subtitle: "For high-volume, results-driven marketing teams", buttons: [
{ text: "Start Your 48-Hour Project", href: "#free-offer" }
],
@@ -433,16 +476,16 @@ export default function LandingPage() {
]
},
{
id: "starter", badge: "Starter - 20% Average ROAS Lift", badgeIcon: Sparkles,
id: "starter", badge: "Starter - Guaranteed 20% ROAS Lift", badgeIcon: Sparkles,
price: "$1,500", subtitle: "Perfect for growing brands testing ad creation", buttons: [
{ text: "Claim 3 Free Ads Now", href: "#free-offer" }
{ text: "Start Free Project", href: "#free-offer" }
],
features: [
"✓ 4 ad projects per month", "✓ Video ads (up to 3 variations each)", "✓ Static creatives (10+ variations)", "✓ Full-funnel packs", "✓ 48-hour turnaround", "✓ Brand consistency maintained", "✓ Email support"
]
},
{
id: "enterprise", badge: "Enterprise - Custom ROAS", badgeIcon: Calendar,
id: "enterprise", badge: "Enterprise - Custom ROAS Targets", badgeIcon: Calendar,
price: "Custom", subtitle: "For agencies and enterprises with unique needs", buttons: [
{ text: "Book Appointment", href: "#contact" }
],
@@ -517,55 +560,64 @@ export default function LandingPage() {
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitMedia
faqs={[
{
id: "1", title: "How do you deliver in 48 hours?", content: "We deliver 3 premium ad creatives with a guaranteed 48-hour turnaround. Our streamlined workflow combines creative strategy, production, and revisions into a single efficient process. We have dedicated creative teams working around the clock to ensure your project gets the attention it deserves while meeting our 48-hour promise."
},
{
id: "2", title: "What if I need revisions?", content: "Revisions are part of our process. We build in time for feedback and iterations within your 48-hour window. For changes after delivery, we have a simple revision policy—typically one round of revisions is included in your plan."
},
{
id: "3", title: "Do you work with all industries?", content: "Absolutely. We work with e-commerce, SaaS, real estate, services, finance, healthcare, nonprofits, and everything in between. Every project gets customized strategy based on your industry, audience, and objectives."
},
{
id: "4", title: "What formats and specs do you deliver?", content: "We deliver files optimized for Instagram, Facebook, TikTok, LinkedIn, YouTube, Google Ads, and more. All formats include proper sizing, aspect ratios, captions, and platform-specific optimization. You get everything ready to post."
},
{
id: "5", title: "Can I get unlimited revisions?", content: "Revision allowances vary by plan. Our Growth and Enterprise plans include comprehensive revision options. We work with you until you're happy with the results—we succeed when you succeed."
},
{
id: "6", title: "What's included in the free 3 ads offer?", content: "You get three custom ad creatives tailored to your business. This might be a mix of video ads, static creatives, or a full-funnel sample. No credit card needed."
}
]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3ATkkwMdD0iTY5cZ1obi8rWoV7q/professional-headshot-of-a-male-entrepre-1772624561085-2e00132e.png?_wi=2"
imageAlt="FAQ support team"
title="Frequently Asked Questions"
description="Everything you need to know about working with studio ads."
tag="Help"
tagIcon={HelpCircle}
mediaAnimation="slide-up"
faqsAnimation="blur-reveal"
textboxLayout="default"
useInvertedBackground={false}
mediaPosition="left"
/>
<div id="faq" data-section="faq" className="py-16 md:py-24 px-4 bg-background">
<div className="max-w-6xl mx-auto">
<FaqSplitMedia
faqs={[
{
id: "1", title: "How do you deliver in 48 hours?", content: "We deliver 3 premium ad creatives with a guaranteed 48-hour turnaround. Our streamlined workflow combines creative strategy, production, and revisions into a single efficient process. We have dedicated creative teams working around the clock to ensure your project gets the attention it deserves while meeting our 48-hour promise."
},
{
id: "2", title: "What if I need revisions?", content: "Revisions are part of our process. We build in time for feedback and iterations within your 48-hour window. For changes after delivery, we have a simple revision policy—typically one round of revisions is included in your plan."
},
{
id: "3", title: "Do you work with all industries?", content: "Absolutely. We work with e-commerce, SaaS, real estate, services, finance, healthcare, nonprofits, and everything in between. Every project gets customized strategy based on your industry, audience, and objectives."
},
{
id: "4", title: "What formats and specs do you deliver?", content: "We deliver files optimized for Instagram, Facebook, TikTok, LinkedIn, YouTube, Google Ads, and more. All formats include proper sizing, aspect ratios, captions, and platform-specific optimization. You get everything ready to post."
},
{
id: "5", title: "Can I get unlimited revisions?", content: "Revision allowances vary by plan. Our Growth and Enterprise plans include comprehensive revision options. We work with you until you're happy with the results—we succeed when you succeed."
},
{
id: "6", title: "What's included in the free 3 ads offer?", content: "You get three custom ad creatives tailored to your business. This might be a mix of video ads, static creatives, or a full-funnel sample. No credit card needed."
}
]}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3ATkkwMdD0iTY5cZ1obi8rWoV7q/professional-headshot-of-a-male-entrepre-1772624561085-2e00132e.png?_wi=2"
imageAlt="FAQ support team"
title="Frequently Asked Questions"
description="Everything you need to know about working with studio ads."
tag="Help"
tagIcon={HelpCircle}
mediaAnimation="slide-up"
faqsAnimation="blur-reveal"
textboxLayout="default"
useInvertedBackground={false}
mediaPosition="left"
containerClassName="max-w-6xl mx-auto"
contentClassName="grid grid-cols-1 md:grid-cols-2 gap-8 md:gap-12 items-center"
mediaWrapperClassName="order-2 md:order-1"
faqsContainerClassName="order-1 md:order-2"
/>
</div>
</div>
<div id="contact" data-section="contact">
<ContactCenter
tag="Get Started"
title="Ready to Scale Your Creative Output?"
description="Join 100+ brands and agencies already transforming their ad production with studio ads. Start with your free 3 ads today."
tagIcon={Mail}
background={{ variant: "downward-rays-static-grid" }}
useInvertedBackground={true}
inputPlaceholder="Enter your email address"
buttonText="Claim 3 Free Ads Now"
termsText="No card required. 30-day guarantee. Cancel anytime."
ariaLabel="Contact form and ad offer signup"
/>
<div id="contact" data-section="contact" className="py-16 md:py-24 px-4">
<div className="max-w-4xl mx-auto">
<ContactCenter
tag="Get Started"
title="Ready to Scale Your Creative Output?"
description="Join 100+ brands and agencies already transforming their ad production with studio ads. Start with your free 3 ads today."
tagIcon={Mail}
background={{ variant: "downward-rays-static-grid" }}
useInvertedBackground={true}
inputPlaceholder="Enter your email address"
buttonText="Start Free Project"
termsText="No card required. 30-day guarantee. Cancel anytime."
ariaLabel="Contact form and ad offer signup"
containerClassName="max-w-2xl mx-auto"
/>
</div>
</div>
<div id="footer" data-section="footer">
@@ -597,6 +649,7 @@ export default function LandingPage() {
]}
copyrightText="© 2025 studio ads. All rights reserved."
ariaLabel="Footer navigation and company information"
containerClassName="max-w-6xl mx-auto px-4"
/>
</div>
</ThemeProvider>