import type { PlatformItem, ServiceSlug } from "@/content/types";

export const homeSeo = {
  title: "Axidys Media · SaaS + E-commerce Growth Marketing Agency",
  description:
    "Growth marketing for SaaS and e-commerce companies. Paid media, SEO + AI search, CRO, analytics, and retention, measured against pipeline, CAC, and margin.",
};

export const hero = {
  eyebrow: "Growth marketing for SaaS + e-commerce",
  /** Lines are fixed so the reveal animates phrase by phrase. `accent` renders in the serif italic. */
  headline: [
    [{ text: "Growth marketing built" }],
    [{ text: "around " }, { text: "revenue", accent: true }, { text: " —" }],
    [{ text: "not channel metrics." }],
  ] as { text: string; accent?: boolean }[][],
  headlinePlain: "Growth marketing built around revenue — not channel metrics.",
  intro:
    "We help SaaS and e-commerce companies acquire the right customers, convert more of the demand they already have, and see exactly where growth is coming from.",
  primaryCta: "Get a Growth Audit",
  secondaryCta: "Explore our approach",
  disciplines: ["Paid media", "Paid social", "SEO + AI search", "CRO", "Landing pages", "Analytics + attribution", "Lifecycle"],
  mapCaption: "Signal map — schematic, not live data",
};

export const positioning = {
  title: "Built for two growth models.",
  intro:
    "SaaS and e-commerce grow in different ways. The buying cycle, the unit economics, and the numbers that matter are not the same. So we don't run one playbook for both.",
  panels: [
    {
      model: "saas" as const,
      kicker: "SaaS",
      title: "Pipeline-led growth",
      body: "Buyers research for weeks, involve more people, and pay back over months. We build acquisition around lead quality and pipeline, not the cheapest form fill.",
      attributes: [
        "Longer buying cycle",
        "Lead quality",
        "Demo conversion",
        "Pipeline attribution",
        "CAC",
        "LTV",
        "Paid + organic demand capture",
      ],
      link: { label: "SaaS growth marketing", href: "/saas-marketing" },
      imageAlt: "Two colleagues review a printed pipeline report in a glass-walled meeting room",
    },
    {
      model: "ecommerce" as const,
      kicker: "E-commerce",
      title: "Margin-led growth",
      body: "Orders happen fast and at volume, and every product carries its own economics. We scale acquisition that still makes money after COGS, shipping, and returns.",
      attributes: [
        "High-volume acquisition",
        "Product economics",
        "Shopping feeds",
        "MER / ROAS",
        "AOV",
        "CRO",
        "Retention",
      ],
      link: { label: "E-commerce growth marketing", href: "/ecommerce-marketing" },
      imageAlt: "Two colleagues photograph a ceramic mug against an indigo backdrop in a product studio",
    },
  ],
};

export type ServiceGlyphKind = "allocation" | "search" | "experiment" | "message" | "pipeline" | "loop";

export interface ServiceModule {
  index: string;
  stage: string;
  name: string;
  promise: string;
  body: string;
  deliverables: string[];
  links: { label: string; slug: ServiceSlug }[];
  /** Selects the card photograph in src/content/media.ts, or the drawn schematic when none is registered. */
  glyph: ServiceGlyphKind;
  imageAlt: string;
}

export const servicesSection = {
  title: "Six disciplines. One growth system.",
  intro:
    "Each service can stand alone. They work better together, because the constraint on growth rarely sits in a single channel.",
  modules: [
    {
      index: "01",
      stage: "Acquire",
      name: "Paid Acquisition",
      promise: "Spend that scales with your unit economics.",
      body: "We run paid search, shopping, and paid social against the numbers the business cares about: CAC, pipeline, MER, and margin. Budget moves to what earns it.",
      deliverables: ["Google Ads", "Microsoft Ads", "Meta Ads", "LinkedIn Ads", "Shopping / Performance Max", "Retargeting"],
      links: [
        { label: "Paid media", slug: "paid-media" },
        { label: "Paid social", slug: "paid-social" },
      ],
      glyph: "allocation",
      imageAlt: "A marketer at a desk reviews campaign bars on a large monitor, one bar highlighted in indigo",
    },
    {
      index: "02",
      stage: "Acquire",
      name: "SEO + AI Search",
      promise: "Be found by buyers in search results and AI answers.",
      body: "Organic demand compounds. We fix the technical foundation, build pages that match buying intent, and improve how your brand shows up in AI-generated answers.",
      deliverables: [
        "Technical SEO",
        "Commercial content",
        "Programmatic opportunities",
        "Digital PR strategy",
        "AI search visibility",
        "Search demand capture",
      ],
      links: [{ label: "SEO + AI search", slug: "seo-ai-search" }],
      glyph: "search",
      imageAlt: "A strategist pins an indigo thread from a question card to a printed page outline on a corkboard",
    },
    {
      index: "03",
      stage: "Convert",
      name: "Conversion Rate Optimization",
      promise: "More revenue from the traffic you already pay for.",
      body: "We find where buyers drop off, form a hypothesis, and test changes that move demos, trials, or orders, not just button clicks.",
      deliverables: ["Research", "Heatmaps", "Landing pages", "Experiment design", "Funnels", "Checkout / demo optimization"],
      links: [{ label: "Conversion rate optimization", slug: "cro" }],
      glyph: "experiment",
      imageAlt: "Two colleagues compare two printed versions of a web page, one with its button circled in pencil",
    },
    {
      index: "04",
      stage: "Convert",
      name: "Creative + Landing Experiences",
      promise: "Messaging that earns the click and keeps the promise.",
      body: "Ads and landing pages should say the same thing. We develop creative strategy, offers, and pages as one system, with variants built to be tested.",
      deliverables: ["Ad creative strategy", "Landing page design", "Messaging", "Offer development", "Experiment variants"],
      links: [{ label: "Landing pages", slug: "landing-pages" }],
      glyph: "message",
      imageAlt: "A strategist compares an ad on a phone with the matching landing page on a laptop",
    },
    {
      index: "05",
      stage: "Measure",
      name: "Analytics + Attribution",
      promise: "Numbers you can make budget decisions on.",
      body: "If tracking is broken, every other decision is a guess. We connect ad platforms, analytics, and CRM or store data so spend ties to pipeline and revenue.",
      deliverables: ["GA4", "Google Tag Manager", "CRM attribution", "Server-side tracking", "Dashboarding", "Revenue measurement"],
      links: [{ label: "Analytics + attribution", slug: "analytics-attribution" }],
      glyph: "pipeline",
      imageAlt: "An analyst draws three data sources flowing into one point on a whiteboard",
    },
    {
      index: "06",
      stage: "Expand",
      name: "Lifecycle + Retention",
      promise: "More value from customers you've already won.",
      body: "Retention raises LTV, and LTV sets what you can pay to acquire. We build email, remarketing, and segmentation around repeat purchase and expansion.",
      deliverables: ["Email", "Remarketing", "Customer segmentation", "Repeat purchase", "Lead nurture", "Expansion"],
      links: [{ label: "Lifecycle + retention", slug: "lifecycle-retention" }],
      glyph: "loop",
      imageAlt: "A marketer reviews a sequence of email layouts on a tablet by a window",
    },
  ] satisfies ServiceModule[],
};

export const specialization = {
  title: "The same playbook can't grow both models.",
  intro:
    "A SaaS buyer may research for months and bring in a buying committee. An e-commerce buyer may decide in one session. Tactics that work in one model often break in the other.",
  saas: {
    title: "SaaS: a long path to revenue",
    steps: ["Search", "Landing page", "Demo / trial", "Nurture", "Sales", "Revenue"],
    timescale: "Weeks to months",
    measure: "SQLs, pipeline, and win rate, not form fills.",
    breaks: "Bidding to cheap leads that sales never accepts.",
  },
  ecommerce: {
    title: "E-commerce: a short path that repeats",
    steps: ["Ad / search", "PDP / category", "Cart", "Purchase", "Repeat purchase"],
    timescale: "Minutes to days",
    measure: "MER, contribution margin, and repeat rate, not platform ROAS alone.",
    breaks: "Scaling campaigns that look profitable in-platform and lose money after COGS and returns.",
  },
  tableCaption: "What changes between models",
  rows: [
    { label: "Buying cycle", saas: "Weeks to months, often several decision-makers", ecommerce: "Minutes to days, usually one buyer" },
    { label: "Conversion event", saas: "Demo request, trial start, or qualified lead", ecommerce: "Purchase" },
    { label: "Efficiency metric", saas: "CAC payback and LTV:CAC", ecommerce: "MER and contribution margin" },
    { label: "Attribution", saas: "CRM stages, offline conversions, long windows", ecommerce: "Platform-independent revenue checks, short windows" },
    { label: "Creative's job", saas: "Build credibility and qualify intent", ecommerce: "Create product desire and a decision now" },
    { label: "Retention lever", saas: "Activation, adoption, and expansion", ecommerce: "Repeat purchase and replenishment" },
  ],
};

export const platformsSection = {
  title: "Platforms we work with.",
  intro:
    "We work inside the tools you already use. Where the stack has gaps, we'll explain what's missing and why it matters for measurement.",
  footnote:
    "Platform names are trademarks of their respective owners. Listing a platform describes where we work. It does not imply a partnership, certification, or endorsement.",
  /** Rendered as two drifting rows; the component splits the list in half. */
  platforms: [
    { name: "Google Ads", logo: "google-ads" },
    { name: "Meta", logo: "meta" },
    { name: "LinkedIn", logo: "linkedin" },
    { name: "Microsoft Ads", logo: "microsoft" },
    { name: "GA4", logo: "ga4" },
    { name: "Google Tag Manager", logo: "google-tag-manager" },
    { name: "Search Console", logo: "search-console" },
    { name: "Shopify", logo: "shopify" },
    { name: "Klaviyo", logo: "klaviyo" },
    { name: "HubSpot", logo: "hubspot" },
    { name: "Salesforce", logo: "salesforce" },
    { name: "Stripe", logo: "stripe" },
  ] satisfies PlatformItem[],
};

export const workingTogether = {
  title: "What working together looks like.",
  intro: "Clear priorities, visible work, and reporting in the language of the business.",
  cadenceTitle: "Operating cadence",
};

export const diagnosticSection = {
  title: "Where is growth being lost?",
  intro:
    "Answer five questions for a general read on where your biggest opportunity is likely to sit. It takes about a minute.",
  disclaimer: "A directional starting point, not an audit. It doesn't project revenue or promise results.",
};

export const resourcesSection = {
  title: "Practical guides for growth teams.",
  intro: "Frameworks, checklists, and definitions we use ourselves. Free to read, no email required.",
};

export const faqSection = {
  title: "Questions, answered.",
  aside: "Still deciding? A Growth Audit is the quickest way to see whether we're a fit.",
};

export const finalCta = {
  title: "Find the constraint before spending more to scale it.",
  body: "Get a structured review of your acquisition, conversion, and measurement setup, and see where growth is being lost.",
  button: "Get a Growth Audit",
  microcopy: "No exaggerated promises. No generic deck. Just a clear view of the growth system.",
  covers: [
    { title: "Acquisition", description: "Account structure, targeting, budget allocation, and search coverage." },
    { title: "Conversion", description: "Landing pages, funnels, offers, and message match." },
    { title: "Measurement", description: "Tracking, attribution, and whether reporting reflects revenue." },
  ],
};
