import React, { useMemo, useState } from "react"; import { motion } from "framer-motion"; import { ArrowRight, Check, Sparkles, Palette, Layout, PenTool, Megaphone, Layers, Mail, Phone, MapPin, Globe, ShieldCheck, Timer, BadgeCheck, FileText, ExternalLink, ChevronDown, } from "lucide-react"; // shadcn/ui import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Input } from "@/components/ui/input"; import { Textarea } from "@/components/ui/textarea"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "@/components/ui/accordion"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; /** * Storybook Media — AI-designed single-page marketing site * - Drop into a Next.js / Vite React project with shadcn/ui + tailwind + framer-motion + lucide-react * - Replace placeholders (email/phone/location/portfolio items) with your real details */ const brand = { name: "Storybook Media", domain: "storybookmedia.co.uk", tagline: "Graphic design that reads like a story — and sells like one.", valueProp: "We blend human craft with AI-assisted workflow to deliver premium brand, web, and marketing design — fast, consistent, and conversion-focused.", }; const fadeUp = { hidden: { opacity: 0, y: 18 }, show: { opacity: 1, y: 0, transition: { duration: 0.55, ease: "easeOut" } }, }; function cx(...classes) { return classes.filter(Boolean).join(" "); } function LogoMark() { return (
{brand.name}
{brand.domain}
); } function Pill({ icon: Icon, children }) { return (
{children}
); } function SectionTitle({ eyebrow, title, desc }) { return (
{eyebrow ? (
{eyebrow}
) : null}

{title}

{desc ?

{desc}

: null}
); } function PrimaryCTA({ label = "Book a discovery call" }) { return ( ); } function SecondaryCTA() { return ( ); } function Metric({ label, value }) { return (
{value}
{label}
); } function ServiceCard({ icon: Icon, title, bullets }) { return ( {title}
    {bullets.map((b) => (
  • {b}
  • ))}
); } function WorkCard({ item }) { return (
{item.title}
{item.category}
{item.year}

{item.description}

{item.tags.map((t) => ( {t} ))}
Placeholder preview — swap for real images
); } function PricingCard({ plan, featured = false }) { return ( {plan.name} {featured ? ( Most popular ) : ( {plan.badge} )}
{plan.price}
{plan.unit}

{plan.desc}

    {plan.features.map((f) => (
  • {f}
  • ))}
{plan.note}
); } export default function StorybookMediaSite() { const [budget, setBudget] = useState("1500-3000"); const [service, setService] = useState("brand"); const [status, setStatus] = useState("idle"); const work = useMemo( () => [ { title: "Luxury Villa Launch Kit", category: "Brand + Social", year: "2026", description: "Visual identity, brochure, and paid-social templates built for a premium property campaign. Cohesive system designed for speed across channels.", tags: ["Identity", "Brochure", "Instagram", "Ads"], }, { title: "E‑commerce Refresh", category: "Web + UI", year: "2026", description: "Homepage + product page redesign with a focus on clarity, trust signals, and conversion. Components delivered as a reusable design system.", tags: ["UI", "Design system", "Conversion"], }, { title: "Podcast Visual Pack", category: "Content", year: "2025", description: "Covers, thumbnails, and motion-ready layouts for a weekly show. Built for consistency across YouTube, Spotify, and social clips.", tags: ["Thumbnails", "Templates", "Motion"], }, ], [] ); const plans = useMemo( () => [ { name: "Design Sprint", badge: "Fast start", price: "£950", unit: "from", desc: "A focused, high-impact sprint to solve one design problem — quickly.", features: [ "Kickoff + goals + references", "2–3 concepts", "1 primary deliverable", "2 revision rounds", "Final files + handover", ], note: "Typical turnaround: 5–7 working days.", }, { name: "Brand System", badge: "Most requested", price: "£2,500", unit: "from", desc: "A complete identity system you can scale across web, print, and social.", features: [ "Logo suite + marks", "Colour + typography system", "Brand guidelines (PDF)", "Social + document templates", "Asset kit for your team", ], note: "Typical turnaround: 2–3 weeks.", }, { name: "Monthly Studio", badge: "Ongoing", price: "£1,200", unit: "/month", desc: "A flexible retainer for teams who need steady design output.", features: [ "Priority queue", "Unlimited requests (fair usage)", "Weekly delivery cadence", "Async collaboration", "Optional web updates", ], note: "Pause or cancel any time.", }, ], [] ); function submit(e) { e.preventDefault(); setStatus("sending"); // Replace with your preferred backend handler (Formspree, Netlify Forms, custom API, etc.) // For now, simulate submission. window.setTimeout(() => setStatus("sent"), 900); } return (
{/* Background */}
{/* Nav */}
{/* Hero */}
Senior-level design Fast delivery Clean, consistent systems {brand.tagline} {brand.valueProp}
What we do best
Brand systems, websites, and marketing design for premium businesses.
Brand Identity Web & UI Social Templates Brochures
{/* Services */}
{/* Work */}
{work.map((item) => ( ))}
Want a dedicated portfolio page? Add routes for /work and /case-studies.
{/* Process */}
{[{ title: "1) Discovery", desc: "Goals, audience, references, and constraints. We lock scope and success metrics.", icon: Globe, },{ title: "2) Concepting", desc: "Multiple directions quickly — using AI-assisted exploration + human curation.", icon: Sparkles, },{ title: "3) Refinement", desc: "Iterate the best route with structured feedback and version control.", icon: BadgeCheck, },{ title: "4) Delivery", desc: "Production-ready files, templates, and handover notes so your team can ship.", icon: ShieldCheck, }].map((step) => (
{step.title}
{step.desc}
))}
{/* Pricing */}
Every package includes source files + usage rights.
Rush delivery available when slots allow.
{/* FAQ */}
{[{ q: "What does AI-assisted actually mean?", a: "We use AI for rapid exploration (variations, layout options, copy starters) and then apply human design judgement to curate, refine, and deliver production-ready work. You’re hiring taste, not just tools.", },{ q: "Can you work with our existing brand?", a: "Yes — we can extend or refresh what you have. If the foundation is messy, we’ll propose a light brand tidy first so everything stays consistent.", },{ q: "What do you need from us to start?", a: "A short brief: your offer, audience, references you like/dislike, timelines, and any existing assets (logo, fonts, photos). We’ll guide you through it.", },{ q: "Do you build websites too?", a: "We can deliver full design + handoff, or we can build the site as well (Next.js/React). If you prefer WordPress, Webflow, or Squarespace, we can supply design and templates.", }].map((item) => ( {item.q} {item.a} ))}
{/* Contact */}
Email
hello@storybookmedia.co.uk
Phone
+44 (0)0000 000000
Location
UK • Remote