wwwlayermeshusa/seed-lm-usa.mjs
2026-03-10 09:54:58 +01:00

420 lines
29 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Layer & Mesh USA — Consolidated Seed
* Pages: Home · Virtual Fiber · Managed WAN · Virtual Server · Contact
* Usage: PAYLOAD_API_KEY=your_key node seed-lm-usa.mjs
* ⚠️ Delete old Home (id:2) and Contact (id:3) in /admin before re-running
*/
const BASE_URL = process.env.PAYLOAD_API_URL || 'http://localhost:3000'
const API_KEY = process.env.PAYLOAD_API_KEY
if (!API_KEY) { console.error('❌ Set PAYLOAD_API_KEY first.'); process.exit(1) }
const headers = { 'Content-Type': 'application/json', Authorization: `users API-Key ${API_KEY}` }
function richText(...paragraphs) {
return { root: { type: 'root', format: '', indent: 0, version: 1, direction: 'ltr',
children: paragraphs.map(text => ({
type: 'paragraph', format: '', indent: 0, version: 1, textFormat: 0, textStyle: '',
children: [{ type: 'text', text, format: 0, style: '', mode: 'normal', version: 1, detail: 0 }],
})),
}}
}
function richTextSpec(items) {
return { root: { type: 'root', format: '', indent: 0, version: 1, direction: 'ltr',
children: items.map(item => item.type === 'heading'
? { type: 'heading', tag: 'h4', format: '', indent: 0, version: 1, direction: 'ltr',
children: [{ type: 'text', text: item.text, format: 0, style: '', mode: 'normal', version: 1, detail: 0 }] }
: { type: 'paragraph', format: '', indent: 0, version: 1, textFormat: 0, textStyle: '',
children: [{ type: 'text', text: item.text, format: 0, style: '', mode: 'normal', version: 1, detail: 0 }] }
),
}}
}
async function createPage(data) {
const res = await fetch(`${BASE_URL}/api/pages?locale=en`, {
method: 'POST', headers,
body: JSON.stringify({ ...data, _status: 'draft' }),
})
const json = await res.json()
if (!res.ok) { console.error(`❌ Failed: "${data.title}"\n`, JSON.stringify(json?.errors ?? json, null, 2)); return null }
console.log(`✅ "${data.title}" → /${json.doc?.slug} (id: ${json.doc?.id})`)
return json.doc
}
// ── 1. HOME ───────────────────────────────────────────────────────────────────
await createPage({
title: 'Home', slug: 'home',
layout: [
{ blockType: 'lmHero',
heading: 'Managed IT Infrastructure for Business',
subheading: 'Virtual Fiber · Managed WAN · Virtual Servers',
body: 'Layer & Mesh delivers the network and compute infrastructure underneath your business — designed, deployed, and managed by engineers who pick up the phone.',
ctaText: 'Talk to an Engineer', ctaLink: '/contact',
secondaryCtaText: 'See Services', secondaryCtaLink: '#services',
theme: 'dark' },
{ blockType: 'lmStatistics',
stats: [{ number: '99.99%', label: 'Uptime SLA' }, { number: '24/7', label: 'NOC Coverage' }, { number: '<500ms', label: 'WAN Failover' }, { number: '40+', label: 'US PoP Locations' }],
sectionBackground: 'dark', numberColor: 'gradient' },
{ blockType: 'lmServiceCards',
anchorId: 'services',
heading: 'Three Services. One Accountable Partner.',
subheading: 'Private connectivity, managed networking, and dedicated compute — from a team that manages all three together.',
columns: '3', cardSurface: 'outlined-teal', sectionBackground: 'dark',
cards: [
{ eyebrow: 'Connectivity', title: 'Virtual Fiber',
description: 'A managed SD-WAN appliance ships to your door. Plug it in — it connects to the Layer & Mesh private mesh automatically. Managed remotely. Monitored 24/7. Works anywhere.',
readMoreText: 'Explore Virtual Fiber', readMoreLink: '/virtual-fiber', iconSlug: 'connectivity' },
{ eyebrow: 'Networking', title: 'Managed WAN',
description: 'We design, deploy, and operate your wide-area network — from branch offices to cloud. Application-aware routing, zero-trust security, full visibility from one dashboard.',
readMoreText: 'Explore Managed WAN', readMoreLink: '/managed-wan', iconSlug: 'connectivity-grid' },
{ eyebrow: 'Compute', title: 'Virtual Server',
description: 'Dedicated vCPU, RAM, and NVMe SSD from our redundant Stockholm cluster. Provisioned in minutes, replicated across geographically separate facilities. Genuine enterprise availability.',
readMoreText: 'Explore Virtual Server', readMoreLink: '/virtual-server', iconSlug: 'virtual-server' },
] },
{ blockType: 'lmUspChecklist',
heading: 'Why Layer & Mesh',
items: [
{ text: 'One vendor across connectivity, networking, and compute — one call when something goes wrong' },
{ text: 'All three services share a private mesh — your servers are reachable from your offices natively' },
{ text: 'Swedish ownership and governance — meaningful for GDPR data flows between the US and EU' },
{ text: 'Transparent monthly pricing — no egress fees, no surprise costs' },
{ text: 'US-based support with named account managers, not anonymous ticketing queues' },
{ text: 'Scales in minutes — add bandwidth, compute, or new sites from a dashboard' },
],
checkColor: 'yellow', sectionBackground: 'dark', textColor: 'white' },
{ blockType: 'lmCtaBanner',
heading: "Let's talk about your infrastructure.",
subheading: "No sales script. Just an honest conversation about what you're running and whether we can improve it.",
ctaText: 'Schedule a Call', ctaLink: '/contact',
secondaryCtaText: 'See Virtual Fiber', secondaryCtaLink: '/virtual-fiber',
sectionBackground: 'dark', alignment: 'center', size: 'large' },
]
})
// ── 2. VIRTUAL FIBER ──────────────────────────────────────────────────────────
// Real product: VF Standard — 1U rack unit, Layer 2 encrypted, plug and play
// $90/month. 2 WAN + 2 LAN RJ-45 1GbE, active cooling, VLAN/QinQ/Full MTU
await createPage({
title: 'Virtual Fiber', slug: 'virtual-fiber',
layout: [
// IMAGE SLOT: upload virtual-fiber-unit.svg to Media in /admin,
// then swap lmAlternateHero for lmHeaderTextImageBlock with that image attached
{ blockType: 'lmAlternateHero',
heading: 'VF Standard — Virtual Fiber Unit',
description: "A rack-mounted Layer 2 networking appliance that ships pre-configured to your door. Plug it into your internet connection and it connects automatically to the Layer & Mesh private mesh. No configuration. No public IP needed. Encrypted Layer 2 transport — from anywhere.",
primaryCtaText: 'Order — $90/mo', primaryCtaLink: '/contact',
secondaryCtaText: 'Tech Specs', secondaryCtaLink: '#specs',
sectionBackground: 'dark' },
// Tutus-style product detail: big description left / specs right
{ blockType: 'lmProductDetail',
eyebrow: 'Platform / Network / Virtual Fiber',
productName: 'VF Standard',
description: "Virtual Fiber is not a VPN. It creates an encrypted, transparent Layer 2 network — built on top of any available internet connection — that behaves exactly like a private fiber link between your locations.\n\nThe VF Standard unit ships pre-configured and ready. Connect it to your existing broadband, fiber, or 4G connection and it joins the Layer & Mesh mesh automatically. Your devices get full Layer 2 transport to every other point on the network — with VLAN, QinQ, and Full MTU support — without a single line of configuration.\n\nNo fixed IP address needed. No IT team required on site. Works as a permanent connection or deployed temporarily. Contract terms start at one day.",
ctaText: 'Order Now — $90/month', ctaLink: '/contact',
secondaryCtaText: 'Download Datasheet', secondaryCtaLink: '/contact',
sectionBackground: 'dark',
body: richTextSpec([
{ type: 'heading', text: '$90 / month' },
{ type: 'paragraph', text: 'Shipping additional. No setup fee. Cancel anytime.' },
{ type: 'heading', text: 'Performance' },
{ type: 'paragraph', text: 'Throughput: Up to 1,000 Mbit/s' },
{ type: 'paragraph', text: 'Transport: Encrypted Layer 2 over any internet' },
{ type: 'paragraph', text: 'Redundancy: Automatic failover via 4G or secondary ISP' },
{ type: 'heading', text: 'Hardware' },
{ type: 'paragraph', text: 'Form factor: 1U rack-mounted' },
{ type: 'paragraph', text: 'Cooling: Active (fan)' },
{ type: 'paragraph', text: 'WAN: 2 × 1GbE RJ-45' },
{ type: 'paragraph', text: 'LAN: 2 × 1GbE RJ-45' },
{ type: 'heading', text: 'Features' },
{ type: 'paragraph', text: 'Plug and play — pre-configured at dispatch' },
{ type: 'paragraph', text: 'VLAN · QinQ · Full MTU' },
{ type: 'paragraph', text: 'No public IP address required' },
{ type: 'paragraph', text: 'World-class Layer 2 encryption' },
]) },
{ blockType: 'lmTechProperties',
anchorId: 'specs',
properties: [
{ category: 'Speed', value: 'Up to 1,000 Mbit/s' },
{ category: 'Form Factor', value: '1U Rack-Mounted' },
{ category: 'Redundancy', value: '4G / Dual-WAN Failover' },
{ category: 'Price', value: '$90 / month' },
],
sectionBackground: 'dark', categoryColor: 'white', valueColor: 'yellow' },
{ blockType: 'lmServiceCards',
heading: 'What Virtual Fiber Makes Possible',
columns: '3', cardSurface: 'outlined-teal', sectionBackground: 'dark',
cards: [
{ eyebrow: 'Reach',
title: 'Access Resources From Anywhere',
description: "Your team in New York reaches your Stockholm servers the same way they reach the printer down the hall — over a private Layer 2 network, without a VPN client or public IP.",
iconSlug: 'connectivity' },
{ eyebrow: 'Simplicity',
title: 'No Configuration Required',
description: "Units arrive ready. Connect to any internet access — fiber, broadband, 4G — and the device joins the mesh automatically. Dual transport paths for redundancy are supported out of the box.",
iconSlug: 'connectivity-grid' },
{ eyebrow: 'Security',
title: 'World-Class Layer 2 Encryption',
description: "All traffic is encrypted using state-of-the-art technology. Secure channels are established over public networks without any configuration — a clear replacement for traditional VPN.",
iconSlug: 'virtual-server' },
] },
{ blockType: 'lmUspChecklist',
heading: 'VF Standard at a Glance',
items: [
{ text: "1U rack-mounted unit — ships pre-configured, online in minutes" },
{ text: "Up to 1,000 Mbit/s Layer 2 encrypted transport — not a VPN, a genuine private network" },
{ text: "2 WAN + 2 LAN ports (RJ-45, 1GbE) — active/active or failover over 4G or secondary ISP" },
{ text: "Full VLAN, QinQ, and MTU support — works with all Layer & Mesh services natively" },
{ text: "No public IP address needed — works over any available internet connection" },
{ text: "$90/month subscription — no long-term commitment required, shipping additional" },
],
checkColor: 'yellow', sectionBackground: 'dark', textColor: 'white' },
{ blockType: 'lmFaq',
heading: 'Virtual Fiber Questions',
items: [
{ question: "What's the difference between Virtual Fiber and a VPN?",
answer: richText("A VPN is a Layer 3 tunnel — it routes IP packets between networks but doesn't behave like a direct connection. Virtual Fiber creates a transparent Layer 2 network, meaning devices on opposite ends of the connection behave as if they're on the same local network switch. This enables VLAN transport, full MTU, QinQ, and eliminates the latency and compatibility issues common with VPN-based solutions.") },
{ question: 'What internet connection does the VF Standard need?',
answer: richText("Any available internet connection works — fiber, broadband, cable, DSL, 4G LTE, or fixed wireless. No fixed or public IP address is required. For redundancy, the unit supports dual transport paths, for example a fixed fiber connection combined with a 4G SIM as automatic failover.") },
{ question: 'Does it need any configuration on site?',
answer: richText("No. Units are fully configured before dispatch. Connect the WAN port to your internet access and the LAN ports to your network — the unit joins the Layer & Mesh mesh automatically. There is nothing to configure.") },
{ question: 'Can I connect multiple offices?',
answer: richText("Yes. Each location gets a VF Standard unit. All units connect into the same Layer & Mesh private mesh, so your sites communicate over encrypted Layer 2 paths automatically. For more complex multi-site network policy and management, that's our Managed WAN service.") },
{ question: 'What are the contract terms?',
answer: richText("Virtual Fiber subscriptions start at one day — there is no forced long-term commitment. Most customers run on a monthly rolling subscription at $90/month plus shipping for the unit. Contact us if you need multi-site pricing or volume terms.") },
],
theme: 'dark' },
{ blockType: 'lmCtaBanner',
heading: 'Private network. Anywhere. $90/month.',
subheading: 'Ships pre-configured. No IT required on site. Cancel anytime.',
ctaText: 'Order Now', ctaLink: '/contact',
secondaryCtaText: 'Talk to an Engineer', secondaryCtaLink: '/contact',
sectionBackground: 'yellow', alignment: 'center', size: 'medium' },
]
})
// ── 3. MANAGED WAN ────────────────────────────────────────────────────────────
await createPage({
title: 'Managed WAN', slug: 'managed-wan',
layout: [
{ blockType: 'lmAlternateHero',
heading: 'Your Network. Fully Managed.',
description: "Layer & Mesh designs, deploys, and operates your wide-area network — from the SD-WAN edge at each site to the private backbone connecting them. One dashboard. One SLA. One team to call.",
primaryCtaText: 'Get a Network Review', primaryCtaLink: '/contact',
secondaryCtaText: 'Tech Specs', secondaryCtaLink: '#specs',
sectionBackground: 'dark' },
{ blockType: 'lmProductDetail',
eyebrow: 'Managed WAN',
productName: 'Your Network, Our Responsibility',
description: "Most businesses are running a patchwork of ISP circuits, aging routers, and VPNs bolted together over the years. Layer & Mesh replaces that with a coherent managed network fabric — SD-WAN on top of the best available underlay at each site, centrally managed, 24/7 monitored.\n\nWhether you're connecting branch offices, securing remote workers, or extending your network to cover a team in another country — we design the architecture, deploy the hardware, manage the carriers, and keep everything running.",
ctaText: 'Request a Network Design', ctaLink: '/contact',
sectionBackground: 'dark',
body: richTextSpec([
{ type: 'heading', text: "What's Managed" },
{ type: 'paragraph', text: 'SD-WAN edge hardware at every location' },
{ type: 'paragraph', text: 'Underlay circuits — sourced and managed by LM' },
{ type: 'paragraph', text: 'Carrier relationships — one bill, one contact' },
{ type: 'paragraph', text: 'Firewall, IDS/IPS, ZTNA — built into platform' },
{ type: 'heading', text: 'Performance' },
{ type: 'paragraph', text: 'WAN failover: <500ms automatic path switching' },
{ type: 'paragraph', text: 'Uptime SLA: 99.99%' },
{ type: 'paragraph', text: 'New site provisioning: under 24 hours' },
{ type: 'heading', text: 'Visibility' },
{ type: 'paragraph', text: 'Single dashboard: all sites, all circuits' },
{ type: 'paragraph', text: 'Per-application, per-site traffic analytics' },
{ type: 'paragraph', text: '24/7 NOC monitoring with proactive alerting' },
]) },
{ blockType: 'lmTechProperties',
anchorId: 'specs',
properties: [
{ category: 'Deployment', value: 'Zero-Touch Provisioning' },
{ category: 'Failover', value: '<500ms automatic' },
{ category: 'Uptime SLA', value: '99.99%' },
{ category: 'Security', value: 'NGFW · IDS/IPS · ZTNA' },
],
sectionBackground: 'dark', categoryColor: 'white', valueColor: 'yellow' },
{ blockType: 'lmUspTable',
heading: "What's Included",
rows: [
{ title: 'SD-WAN Edge Hardware',
description: richText("Pre-configured CPE ships to each site. Plug it in and it comes online automatically — no on-site IT required. Firmware, configuration, and hardware replacements managed throughout the contract.") },
{ title: 'Underlay Sourcing',
description: richText("We source the best available circuits at each location — fiber, broadband, LTE — and manage the carrier relationships. One bill and one point of contact regardless of how many ISPs are in the mix.") },
{ title: 'Integrated Security',
description: richText("Next-generation firewall, IDS/IPS, DNS filtering, and zero-trust network access built into the platform — not sold separately. Security policies managed centrally from the same dashboard as your routing.") },
{ title: '24/7 NOC Monitoring',
description: richText("Our network operations center watches every circuit, device, and tunnel around the clock. Most issues are resolved before they affect your users. Your named account manager handles anything that can't wait.") },
],
checkColor: 'yellow', sectionBackground: 'dark', textColor: 'white' },
{ blockType: 'lmFaq',
heading: 'Common Questions',
items: [
{ question: 'How long to connect a new site?',
answer: richText("Standard sites using zero-touch provisioning are live within 48 hours of hardware delivery. Sites with complex firewall requirements may take 12 days. We provide a site-specific timeline at kickoff.") },
{ question: "Can you connect our team when they're working in another country?",
answer: richText("Yes. Remote users connect via our zero-trust network access client — available on any device, any OS. Traffic routes over the Layer & Mesh mesh to your corporate resources with the same security policies that apply in your offices. Country doesn't matter.") },
{ question: 'What about regulated data?',
answer: richText("The platform includes AES-256 encryption in transit, ZTNA for every user, and an integrated NGFW with IDS/IPS. All traffic stays within the Layer & Mesh private mesh. This architecture meets transport requirements for HIPAA, GDPR, and SOC 2 workloads.") },
{ question: 'Can you work with our existing circuits?',
answer: richText("Yes. Our SD-WAN platform is transport-agnostic. We can onboard your existing broadband, MPLS, fiber, or LTE links alongside any new circuits we source for you.") },
],
theme: 'dark' },
{ blockType: 'lmCtaBanner',
heading: "Let's design your network.",
subheading: "Tell us your locations and what's not working. We'll come back with a design and a number.",
ctaText: 'Start the Conversation', ctaLink: '/contact',
sectionBackground: 'yellow', alignment: 'center', size: 'medium' },
]
})
// ── 4. VIRTUAL SERVER ─────────────────────────────────────────────────────────
await createPage({
title: 'Virtual Server', slug: 'virtual-server',
layout: [
{ blockType: 'lmAlternateHero',
heading: 'Dedicated Server Performance. Zero Hardware.',
description: "Layer & Mesh Virtual Servers give you dedicated vCPU, RAM, and NVMe SSD from our redundant Stockholm cluster — provisioned in under 30 minutes, replicated across geographically separate facilities, and managed by engineers who keep it running.",
primaryCtaText: 'Configure a Server', primaryCtaLink: '/contact',
secondaryCtaText: 'See Specifications', secondaryCtaLink: '#specs',
sectionBackground: 'dark' },
{ blockType: 'lmProductDetail',
eyebrow: 'Virtual Server',
productName: 'Enterprise Compute Without the Hardware',
description: "When cloud economics don't add up — or when you need to know exactly where your data lives — Layer & Mesh Virtual Servers give you the control of owned infrastructure without the cost and complexity of running a datacenter.\n\nResources are dedicated to your environment. Your VMs run on high-availability clusters across geographically separate Layer & Mesh facilities in Stockholm — if a host fails, your VMs restart on another node within 6090 seconds. Storage is replicated. No data loss on hardware failure.\n\nAnd because it's part of the same Layer & Mesh mesh as Virtual Fiber and Managed WAN, your servers are privately reachable from any of your offices — no VPN client required.",
ctaText: 'Configure a Server', ctaLink: '/contact',
sectionBackground: 'dark',
body: richTextSpec([
{ type: 'heading', text: 'Compute' },
{ type: 'paragraph', text: 'vCPU: Up to 64 dedicated cores' },
{ type: 'paragraph', text: 'RAM: Up to 512 GB DDR5' },
{ type: 'paragraph', text: 'NVMe SSD: Up to 20 TB' },
{ type: 'paragraph', text: 'Network: 125 Gbps internal' },
{ type: 'heading', text: 'Availability' },
{ type: 'paragraph', text: 'Cluster HA: VM restart on host failure in <90s' },
{ type: 'paragraph', text: 'Storage: Replicated across geographically separate sites' },
{ type: 'paragraph', text: 'Uptime SLA: 99.99%' },
{ type: 'heading', text: 'Access' },
{ type: 'paragraph', text: 'OS: Linux (all distros), Windows Server, FreeBSD' },
{ type: 'paragraph', text: 'Provisioning: Under 30 minutes' },
{ type: 'paragraph', text: 'Access: Web portal, VNC console, or private LAN via Virtual Fiber' },
]) },
{ blockType: 'lmTechProperties',
anchorId: 'specs',
properties: [
{ category: 'vCPU', value: 'Up to 64 cores' },
{ category: 'RAM', value: 'Up to 512 GB' },
{ category: 'Provisioning', value: 'Under 30 minutes' },
{ category: 'Uptime SLA', value: '99.99%' },
],
sectionBackground: 'dark', categoryColor: 'white', valueColor: 'yellow' },
{ blockType: 'lmServiceCards',
heading: 'Common Use Cases',
columns: '3', cardSurface: 'outlined-teal', sectionBackground: 'dark',
cards: [
{ eyebrow: 'Migration', title: 'Replace On-Prem Servers',
description: "Migrate your physical servers to virtual machines — same performance, no hardware management overhead, genuine HA across separate facilities.",
iconSlug: 'virtual-server' },
{ eyebrow: 'Development', title: 'Dev & Test Environments',
description: "Spin up isolated environments in minutes. Tear them down when the sprint ends. Pay for hours used — no idle hardware sitting in a rack.",
iconSlug: 'storage' },
{ eyebrow: 'Compliance', title: 'Regulated Data',
description: "Swedish-jurisdiction infrastructure with ISO 27001, SOC 2, and GDPR compliance — for businesses that need to know exactly where their data lives.",
iconSlug: 'backup' },
] },
{ blockType: 'lmUspChecklist',
heading: 'Why Not AWS or Azure',
items: [
{ text: "Swedish jurisdiction — no US CLOUD Act exposure, no data sovereignty tradeoffs" },
{ text: "No egress fees — transfer data freely between your VMs, offices, and LM services" },
{ text: "Dedicated resources — no shared CPU contention or noisy neighbor effects" },
{ text: "Natively connected to Virtual Fiber and Managed WAN — one private mesh, three services" },
{ text: "Transparent monthly pricing — no per-request charges, no surprise costs" },
{ text: "ISO 27001 · SOC 2 · GDPR · NIS2 compliant — certification docs available on request" },
],
checkColor: 'yellow', sectionBackground: 'dark', textColor: 'white' },
{ blockType: 'lmFaq',
heading: 'Virtual Server Questions',
items: [
{ question: 'How is this different from AWS or Azure?',
answer: richText("The major hyperscalers are US-headquartered and operate under the CLOUD Act — US authorities can compel data access regardless of where servers are located. Layer & Mesh is a Swedish company operating Swedish-jurisdiction facilities. For businesses subject to GDPR or EU data residency requirements, this is a meaningful distinction. We're also simpler: no egress fees and a team that answers the phone.") },
{ question: 'What if the physical host my VM runs on fails?',
answer: richText("The cluster detects the failure and restarts your VMs on another healthy host — typically within 6090 seconds. Storage is replicated across the cluster, so no data is lost. For most workloads, this is completely transparent.") },
{ question: 'Can my US team access servers in Stockholm?',
answer: richText("Yes. If you have a Virtual Fiber unit at your US office, your servers appear on the same private network as your local devices — no VPN client needed. You can also access servers via the web portal console or a standard VPN connection.") },
{ question: 'How is pricing structured?',
answer: richText("Monthly subscription based on allocated vCPU, RAM, and storage. No per-request charges, no egress fees. Adjust your allocation up or down each billing cycle.") },
],
theme: 'dark' },
{ blockType: 'lmCtaBanner',
heading: 'Dedicated compute. Stockholm reliability.',
subheading: "Tell us what you're running and we'll configure a VM environment to match.",
ctaText: 'Configure a Server', ctaLink: '/contact',
sectionBackground: 'yellow', alignment: 'center', size: 'medium' },
]
})
// ── 5. CONTACT ────────────────────────────────────────────────────────────────
await createPage({
title: 'Contact', slug: 'contact',
layout: [
{ blockType: 'lmAlternateHero',
heading: "Let's Talk Infrastructure.",
description: "No sales script. No commitment on the first call. Just an honest conversation about what you're running and whether we can make it better.",
sectionBackground: 'dark' },
{ blockType: 'lmContact',
heading: 'Reach Us Directly',
contactMethods: [
{ label: 'Sales — sales@layermesh.com', link: 'mailto:sales@layermesh.com' },
{ label: 'Support — support@layermesh.com', link: 'mailto:support@layermesh.com' },
{ label: 'General — hello@layermesh.com', link: 'mailto:hello@layermesh.com' },
{ label: '24/7 NOC — +1 800 555 0100', link: 'tel:+18005550100' },
] },
{ blockType: 'lmStatistics',
stats: [{ number: '< 4hr', label: 'Sales Response' }, { number: '< 2hr', label: 'Support Triage' }, { number: '24/7', label: 'NOC Coverage' }, { number: '98%', label: 'CSAT Score' }],
sectionBackground: 'dark', numberColor: 'gradient' },
{ blockType: 'lmFaq',
heading: 'Before You Reach Out',
items: [
{ question: 'What size of business do you work with?',
answer: richText("We work best with businesses that have multiple locations, distributed teams, or significant compute needs. If you're not sure whether we're the right fit, reach out — we'll be honest about it.") },
{ question: 'What should I prepare for a first call?',
answer: richText("Not much. Number of locations, what you're currently running, and your top one or two pain points. That's enough. We'll ask the right questions from there.") },
{ question: "We're a Swedish company with a US presence — is this common for you?",
answer: richText("Very common. A significant portion of our US customers are Swedish-owned businesses with a US footprint. The compliance, data sovereignty, and connectivity challenges are well-understood on our end. We have a playbook.") },
{ question: 'Do you offer a proof of concept?',
answer: richText("Yes. For qualified customers we offer a 30-day PoC — typically a single Virtual Fiber unit or a trial VM — at no charge. Ask us about eligibility on the first call.") },
],
theme: 'dark' },
{ blockType: 'lmCtaBanner',
heading: 'One conversation. No commitment.',
subheading: "The worst outcome is 30 minutes and a mutual decision it's not the right fit.",
ctaText: 'Book a Call', ctaLink: 'mailto:sales@layermesh.com',
sectionBackground: 'yellow', alignment: 'center', size: 'medium' },
]
})
console.log('\n✨ Done — 5 pages seeded as drafts.')
console.log('\n📋 Next steps:')
console.log(' 1. Delete old Home (id:2) and Contact (id:3) in /admin if they exist')
console.log(' 2. Upload virtual-fiber-unit.svg to Media in /admin')
console.log(' 3. On the Virtual Fiber page, swap lmAlternateHero for lmHeaderTextImageBlock once image is attached')
console.log(' 4. Publish pages when ready\n')