Phase 1 components for the 16 service landing pages. Each is shown in light and dark and across its states. Demo content is illustrative; real copy and prices come from the service cards in Phase 2.
.btn-primaryorange-600 fill + white text. Same as the primary button.
Self-qualification plus the wrong-service router. State A: fit + not-fit columns. State B: empty notFitItems collapses to a single-column fit list.
A - full / light
You run 3+ stores across multiple platforms.
Multi-channel Growth AcceleratorBuilt for multi-platform portfolios.
You are launching on a brand-new platform.
Launch Starter PackA fixed-scope three-month launch runway.
You only need paid ads handled.
Paid Ads ManagementA focused single-lever engagement.
A - full / dark
You run 3+ stores across multiple platforms.
Multi-channel Growth AcceleratorBuilt for multi-platform portfolios.
You are launching on a brand-new platform.
Launch Starter PackA fixed-scope three-month launch runway.
You only need paid ads handled.
Paid Ads ManagementA focused single-lever engagement.
B - collapsed, custom title / light
B - collapsed, custom title / dark
Fixed bottom bar, mobile breakpoint only (md:hidden), CSS position - no JS. Below is a static preview of the bar design; one live instance is fixed to the foot of this page - resize the viewport below 768px to see it.
With price signal / light
From 25M VND / mo
Book a scoping callWith price signal / dark
From 25M VND / mo
Book a scoping callNo price signal (custom-quote) / light
Edge case: a cta with no href renders nothing - the bar is omitted entirely.
The quiet secondary path that sits beside every primary CTA. Default href is the contact page.
Prefer not to book a call yet? Send us your questions and we'll point you to the right next step.
Prefer not to book a call yet? Send us your questions and we'll point you to the right next step.
The onward routing graph as a real table on desktop, stacked cards below 768px. Last demo row has no follow-on service and renders as plain text.
Step up to multi-platform management.
Stay on this plan - no change needed.
Step up to multi-platform management.
Stay on this plan - no change needed.
Flat fee-component table with optional callouts and a worked example. State B shows the never-blank fallback for unlocked / "TBD" amounts.
A - full / light
Worked example
| Monthly GMV | Retainer | Commission | Total |
|---|---|---|---|
| 50M VND | 25M | 4M | 29M |
| 150M VND | 25M | 9M | 34M |
| 400M VND | 30M | 20M | 50M |
All prices in VND, exclusive of VAT.
A - full / dark
Worked example
| Monthly GMV | Retainer | Commission | Total |
|---|---|---|---|
| 50M VND | 25M | 4M | 29M |
| 150M VND | 25M | 9M | 34M |
| 400M VND | 30M | 20M | 50M |
All prices in VND, exclusive of VAT.
B - TBD fallback / light
All prices in VND, exclusive of VAT.
B - TBD fallback / dark
All prices in VND, exclusive of VAT.
The bundle's contracted rate beside an "if bought separately" reference. State B shows the never-blank fallback when figures are unlocked.
A - full / light
All prices in VND, exclusive of VAT. A-la-carte figures are indicative; the bundle is the contracted rate.
A - full / dark
All prices in VND, exclusive of VAT. A-la-carte figures are indicative; the bundle is the contracted rate.
B - TBD fallback, empty comparison / light
A-la-carte pricing confirmed at scoping.
All prices in VND, exclusive of VAT. A-la-carte figures are indicative; the bundle is the contracted rate.
B - TBD fallback, empty comparison / dark
A-la-carte pricing confirmed at scoping.
All prices in VND, exclusive of VAT. A-la-carte figures are indicative; the bundle is the contracted rate.
From 25M VND / mo
Book a scoping call