feat: complete agency site build (Phases 1-7)
Full Next.js 16 + Payload CMS 3.x agency site with:
- Homepage: Hero, TrustBar, Services, Configurator wizard, Process,
Selected Works, Philosophy, CTA Banner
- Sub-pages: /services (3 pillars + AI Layer), /work/[slug] (case
studies), /about (philosophy + story)
- Configurator: 3-step wizard with AI brief generation API
- i18n: Full EN/FR bilingual with next-intl
- Design system: Cormorant Garamond + Inter, celestial blue palette,
glassmorphism nav, Framer Motion animations
- Payload CMS collections: Projects, Services, Submissions, Media
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 20:37:38 +01:00
|
|
|
'use client';
|
|
|
|
|
|
|
|
|
|
import { motion } from 'framer-motion';
|
|
|
|
|
import { staggerContainer, revealVariants, viewportOnce } from '@/lib/animations';
|
|
|
|
|
|
|
|
|
|
// ─── Animation variants ────────────────────────────────────────────────────────
|
|
|
|
|
|
|
|
|
|
const ease = [0.16, 1, 0.3, 1] as const;
|
|
|
|
|
|
|
|
|
|
const eyebrowVariants = {
|
|
|
|
|
hidden: { opacity: 0, y: 16 },
|
|
|
|
|
visible: {
|
|
|
|
|
opacity: 1,
|
|
|
|
|
y: 0,
|
|
|
|
|
transition: { duration: 0.5, ease },
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const headlineVariants = {
|
|
|
|
|
hidden: { opacity: 0, y: 24 },
|
|
|
|
|
visible: {
|
|
|
|
|
opacity: 1,
|
|
|
|
|
y: 0,
|
|
|
|
|
transition: { duration: 0.65, ease, delay: 0.1 },
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const subtitleVariants = {
|
|
|
|
|
hidden: { opacity: 0, y: 20 },
|
|
|
|
|
visible: {
|
|
|
|
|
opacity: 1,
|
|
|
|
|
y: 0,
|
|
|
|
|
transition: { duration: 0.6, ease, delay: 0.2 },
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const ruleVariants = {
|
|
|
|
|
hidden: { scaleX: 0 },
|
|
|
|
|
visible: {
|
|
|
|
|
scaleX: 1,
|
|
|
|
|
transition: { duration: 0.7, ease, delay: 0.35 },
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// ─── Component ─────────────────────────────────────────────────────────────────
|
|
|
|
|
|
|
|
|
|
export default function ServicesHero() {
|
|
|
|
|
return (
|
|
|
|
|
<section
|
|
|
|
|
className="bg-surface pt-32 pb-20"
|
|
|
|
|
aria-label="Services hero"
|
|
|
|
|
>
|
|
|
|
|
<div className="container mx-auto px-6">
|
|
|
|
|
<motion.div
|
|
|
|
|
variants={staggerContainer}
|
|
|
|
|
initial="hidden"
|
|
|
|
|
animate="visible"
|
|
|
|
|
className="flex flex-col items-center text-center"
|
|
|
|
|
>
|
|
|
|
|
{/* Eyebrow */}
|
|
|
|
|
<motion.span
|
|
|
|
|
variants={eyebrowVariants}
|
|
|
|
|
className="label-md text-primary mb-5"
|
|
|
|
|
>
|
copy: rewrite site messaging to lead with design, temper infrastructure
Complete copy overhaul across all pages (EN + FR):
- Hero: "Your website. Your software. Your entire digital world."
- Services: "Design. Build. Grow." with reordered pillars
- Philosophy: "We do things differently" — craft leads, ownership closes
- About: remove all Côte d'Azur/Riviera references, new story narrative
- Services page: less jargon, outcome-focused language, honest AI claims
- SEO metadata: includes all three pillars (design, AI, infrastructure)
- Trust bar, CTA, footer, configurator, case study CTAs all updated
- French translations updated to match all English changes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 14:49:44 -04:00
|
|
|
Our Services
|
feat: complete agency site build (Phases 1-7)
Full Next.js 16 + Payload CMS 3.x agency site with:
- Homepage: Hero, TrustBar, Services, Configurator wizard, Process,
Selected Works, Philosophy, CTA Banner
- Sub-pages: /services (3 pillars + AI Layer), /work/[slug] (case
studies), /about (philosophy + story)
- Configurator: 3-step wizard with AI brief generation API
- i18n: Full EN/FR bilingual with next-intl
- Design system: Cormorant Garamond + Inter, celestial blue palette,
glassmorphism nav, Framer Motion animations
- Payload CMS collections: Projects, Services, Submissions, Media
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 20:37:38 +01:00
|
|
|
</motion.span>
|
|
|
|
|
|
|
|
|
|
{/* Headline */}
|
|
|
|
|
<motion.h1
|
|
|
|
|
variants={headlineVariants}
|
|
|
|
|
className="font-serif font-semibold tracking-headline text-on-surface text-5xl md:text-6xl lg:text-7xl max-w-4xl leading-[1.05]"
|
|
|
|
|
>
|
copy: rewrite site messaging to lead with design, temper infrastructure
Complete copy overhaul across all pages (EN + FR):
- Hero: "Your website. Your software. Your entire digital world."
- Services: "Design. Build. Grow." with reordered pillars
- Philosophy: "We do things differently" — craft leads, ownership closes
- About: remove all Côte d'Azur/Riviera references, new story narrative
- Services page: less jargon, outcome-focused language, honest AI claims
- SEO metadata: includes all three pillars (design, AI, infrastructure)
- Trust bar, CTA, footer, configurator, case study CTAs all updated
- French translations updated to match all English changes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 14:49:44 -04:00
|
|
|
Everything your business{' '}
|
|
|
|
|
<span className="text-gradient">needs online.</span>
|
feat: complete agency site build (Phases 1-7)
Full Next.js 16 + Payload CMS 3.x agency site with:
- Homepage: Hero, TrustBar, Services, Configurator wizard, Process,
Selected Works, Philosophy, CTA Banner
- Sub-pages: /services (3 pillars + AI Layer), /work/[slug] (case
studies), /about (philosophy + story)
- Configurator: 3-step wizard with AI brief generation API
- i18n: Full EN/FR bilingual with next-intl
- Design system: Cormorant Garamond + Inter, celestial blue palette,
glassmorphism nav, Framer Motion animations
- Payload CMS collections: Projects, Services, Submissions, Media
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 20:37:38 +01:00
|
|
|
</motion.h1>
|
|
|
|
|
|
|
|
|
|
{/* Subtitle */}
|
|
|
|
|
<motion.p
|
|
|
|
|
variants={subtitleVariants}
|
|
|
|
|
className="mt-6 text-lg text-outline leading-relaxed max-w-2xl"
|
|
|
|
|
>
|
copy: rewrite site messaging to lead with design, temper infrastructure
Complete copy overhaul across all pages (EN + FR):
- Hero: "Your website. Your software. Your entire digital world."
- Services: "Design. Build. Grow." with reordered pillars
- Philosophy: "We do things differently" — craft leads, ownership closes
- About: remove all Côte d'Azur/Riviera references, new story narrative
- Services page: less jargon, outcome-focused language, honest AI claims
- SEO metadata: includes all three pillars (design, AI, infrastructure)
- Trust bar, CTA, footer, configurator, case study CTAs all updated
- French translations updated to match all English changes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 14:49:44 -04:00
|
|
|
We design custom websites, build purpose-built software, and manage
|
|
|
|
|
the infrastructure behind it all — one team, one standard of
|
|
|
|
|
quality, nothing outsourced.
|
feat: complete agency site build (Phases 1-7)
Full Next.js 16 + Payload CMS 3.x agency site with:
- Homepage: Hero, TrustBar, Services, Configurator wizard, Process,
Selected Works, Philosophy, CTA Banner
- Sub-pages: /services (3 pillars + AI Layer), /work/[slug] (case
studies), /about (philosophy + story)
- Configurator: 3-step wizard with AI brief generation API
- i18n: Full EN/FR bilingual with next-intl
- Design system: Cormorant Garamond + Inter, celestial blue palette,
glassmorphism nav, Framer Motion animations
- Payload CMS collections: Projects, Services, Submissions, Media
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 20:37:38 +01:00
|
|
|
</motion.p>
|
|
|
|
|
|
|
|
|
|
{/* Decorative rule */}
|
|
|
|
|
<motion.div
|
|
|
|
|
variants={ruleVariants}
|
|
|
|
|
className="mt-10 origin-left w-16 h-px bg-gradient-cta"
|
|
|
|
|
aria-hidden="true"
|
|
|
|
|
/>
|
|
|
|
|
</motion.div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
);
|
|
|
|
|
}
|