Agentic Marketing | Ecommerce 2026
The
Agentic
Commerce
Shift
Ecommerce learnings and trends that must adopt in 2026 for revenue growth and profitability.
In 2025, ecommerce did not run out of ideas. It ran out of excuses.
Teams moved faster than ever. GenAI pilots went live. Data systems expanded. New journeys and channels were added with speed and intent. On the surface, ecommerce looked more advanced than at any point before.
But the conversation changed. As complexity grew, leadership focus shifted from possibility to payoff. CEOs and boards began asking a simpler question: what is the business case, and where is the return.
This report focuses on the points where that tension surfaced most clearly. The moments where activity was no longer enough. Where execution had to prove its impact on conversion, revenue, and profitability.
"All CFOs are now asking for what's the business case. What's the ROI?"
— Schneider Electric CIO, 2025
Six ecommerce trends that will define 2026
01
Loss-making ecommerce is a systems problem, not a tools problem
Key takeaway · Learning 01
Ecommerce economics don't change because you add more AI features. They change when you collapse dozens of bots and copilots into a small number of governed agents, sitting on unified data and explicitly accountable for online profitability.
Inside the numbers · Walmart
First wave
Walmart put GenAI into search, HQ, and stores. It shipped everywhere, but online margin moved nowhere because no one owned profitability.
See what Walmart did
IMPACT
Customer: Occasion-based GenAI that builds full baskets.
HQ: "My Assistant" for 50K associates to summarise and draft.
Stores: AI support for 1.5M associates across tasks, policy Q&A, and 44-language translation.
Tap to flip back
Move away to flip
Reality check
Walmart learned that more copilots meant more confusion. Disconnected tools made local wins, but at scale they amplified cost and weak technical debt.
See what Walmart did
IMPACT
Scaling issue: Each bot had its own data view, rules, and success metric.
Hidden debt: Inconsistent answers, duplicated work, weak guardrails.
At scale: AI amplified cost and fulfilment loss, not profit.
Tap to flip back
Move away to flip
Agentic spine
Walmart shifted to a few governed entry agents on shared data. With clear owners, AI stopped being features and started driving profit outcomes.
See what Walmart did
IMPACT
Structure: Four super agents. Sparky drives shopping, Associate runs stores, Marty powers suppliers, Developer builds.
Ambition: 50% of total sales from ecommerce in five years.
Tap to flip back
Move away to flip
AI spread across chatbots, search and copilots is activity. A few well-governed agents on unified data is strategy.
02
Humans don't buy what they can't find in a minute
Key takeaway · Learning 02
Ecommerce doesn't leak most at checkout. It leaks at search. When discovery becomes a one minute guided conversation, add to cart and revenue rise without increasing media spend.
Case in point: Restaurant Equippers, a B2B kitchen equipment retailer that turned search into a digital salesperson.
Inside the numbers · Restaurant Equippers
Before
At Restaurant Equippers, buyers typed exact specs. Legacy search returned noise or dead ends, forcing tab hopping, support calls, and abandoned sessions.
See what Restaurant Equippers did
IMPACT
Spec heavy demand: Ovens, refrigeration, prep tables with exact requirements.
Keyword limits: Weak stemming and synonyms missed trade terms.
Noisy outcomes: Precise queries still returned irrelevant options.
Tap to flip backMove away to flip
Shift
Restaurant Equippers adopted AI-powered search alongside Shopping Agent for guided, conversational discovery. This agent asked clarifying questions, understood specs and matched shoppers to right products instantly.
See what Restaurant Equippers did
IMPACT
Spec understanding: Attributes, dimensions, capacity, power, trade names.
Guided flow: Clarifying questions and multi step refinement.
Shortlist speed: Confidence in under a minute, fewer wrong clicks.
Tap to flip backMove away to flip
Impact
Restaurant Equippers did not add new channels. Fixing discovery lifted conversion behavior and order quality by matching intent to the right SKU faster.
See what Restaurant Equippers did
IMPACT
Add to cart: 12–20% uplift as spec-correct matches improved.
Search engagement: 3× higher with more refinement and fewer dead ends.
Revenue: ~20% uplift plus higher average order value.
Tap to flip backMove away to flip
If discovery takes more than 60 seconds, you're not losing attention—you're losing revenue.
03
Fresh markdowns turned from margin drain to lever
Key takeaway · Learning 03
Fresh margin rarely leaks because of demand. It leaks because markdowns run on human guesswork. When markdowns become a governed, store-level AI loop, fresh turns from volatility into a controllable profit lever.
Case in point: Morrisons. A UK grocer that replaced manual markdown rounds with an AI-managed price rhythm across fresh.
Inside the numbers ·Morrisons
Pressure point
Morrisons ran multiple manual markdown rounds daily. Under time pressure, teams guessed discounts store by store, and small errors scaled into big leakage.
See what Morrisons did
IMPACT
Brand asset, daily fire drill: Fresh counters drove loyalty, but short shelf life forced constant pricing decisions.
Manual cadence: Around three markdown rounds a day, based on eyeballing stock under pressure. 3 rounds/day
Two failure modes: Too shallow meant waste. Too deep meant margin loss.
Tap to flip backMove away to flip
Decision loop
Morrisons turned markdowns into an automated loop that reads local demand, inventory, and elasticity, then updates prices through the day.
See what Morrisons did
IMPACT
Inputs that matter: Store-level inventory, demand patterns, and price elasticity. Store-level elasticity
Continuous optimization: Prices recalculated to clear by end-of-life while protecting margin.
Action, not analytics: New prices pushed to colleagues' handhelds as guided actions.
Tap to flip backMove away to flip
Business impact
This was not "more discounting." It was fewer manual rounds, store-specific markdown curves, and fresh economics that became predictable and scalable.
See what Morrisons did
IMPACT
Less labour burn: Two of three daily markdown cycles removed, freeing staff time. 2 of 3 cycles removed
Local curves beat rules: Store-specific markdown trajectories replaced one-size-fits-all logic.
Cleaner outcomes: Better clearance with less margin giveaway and stronger markdown revenue quality.
Tap to flip backMove away to flip
Dynamic pricing on fresh is no longer experimental. It's the new baseline for grocery margin.
04
Language stopped being localisation. It became infrastructure.
Key takeaway · Learning 04
In growth markets, language is not localisation. It is infrastructure. When vernacular and voice become the default interface across journeys and support, you unlock both conversion lift and a lower cost-to-serve.
Case in point: Meesho treated vernacular and voice as core product rails, then used AI voice agents to scale service without scaling cost.
Inside the numbers · Meesho
Pressure
Meesho's core demand was Tier II+ and first-time buyers. English-first flows did not just slow checkout, they reduced trust and completion.
See what Meesho did
IMPACT
Base reality: 160M+ customers, majority from Tier II+ towns.
Trust barrier: English was a drop-off trigger, not inconvenience.
New-to-ecom: First-time cohorts needed confidence to transact.
Tap to flip backMove away to flip
Shift
Meesho rebuilt the funnel so browsing, ordering, tracking, and payment worked end to end in-language, not as partial translation for the default journey.
See what Meesho did
IMPACT
Scale move: Added eight vernacular languages beyond Hindi and English.
Full journey: Browse, order, track, pay in-language.
Onboarding lever: Vernacular became default onboarding for new users.
Tap to flip backMove away to flip
Economics
Meesho used GenAI voice to absorb high-volume queries at scale, improving resolution while cutting service cost without expanding teams for support into leverage.
See what Meesho did
IMPACT
At scale: ~60,000 calls per day handled by voice bot.
Efficiency: Handling time halved, ~95% resolution.
Experience: Around 10% CSAT uplift.
Tap to flip backMove away to flip
In growth markets, language and voice agents are not campaigns. They are the operating system for how your next 100 million customers discover, decide and get served.
05
Shopping touchpoints hide the missions behind purchases
Key takeaway · Learning 05
Channels are easy to report, but they hide what drives trips, baskets, and loyalty. Tesco learned that missions like big shop, top-up, and need-it-now behave like different businesses.
Case in point: Tesco reframed growth around trip missions first, then used formats like Express, online, and rapid as execution.
Inside the numbers · Tesco
Pressure
Tesco had formats for every trip, but decisions still defaulted to store vs online vs rapid. That blurred what customers were actually trying to do as channel-shaped.
See what Tesco did
IMPACT
Formats were not the problem: Superstores, Express, online, rapid were already built.
Data was not the problem: 22M+ Clubcard households map most UK shopping behaviour.
The mindset was wrong: Planning focused on touchpoints, not trip intent.
Tap to flip backMove away to flip
Reality check
The highest-frequency trips were not big weekly baskets. They were convenience top-ups and urgent missions where loyalty is weakest and switching is easiest.
See what Tesco did
IMPACT
Trip mix shift: 63% of grocery trips are top-ups, not stock-ups.
Loyalty fragile: Around 50% report weak loyalty in convenience.
Rapid expands visits: Rapid users increased total visits by around 11%.
Tap to flip backMove away to flip
Agentic spine
Tesco moved from channel plans to mission playbooks. It tuned assortment, pricing, and offers to trip intent, then executed via the best channel.
See what Tesco did
IMPACT
Organise by mission: Big shop, urban top-up, need-it-now, plus life stage.
Tune the engine: Different baskets and sensitivities per mission.
Execute by format: Express and rapid for top-ups, superstore and online for big shops.
Tap to flip backMove away to flip
In 2026, the serious question is not "How are our shopping touchpoints/channels performing?" – it is"What are our top missions, and how differently are we designing journeys and economics for each one?"
06
When always-on journeys quietly out-earned the campaign calendar
Key takeaway · Learning 06
Campaigns are the loud part of ecommerce. The profit is often in the quiet moments between them.
Case in point: Fabindia proved that an AI-driven customer OS can turn live intent into triggered journeys that outperform the next big push.
Inside the numbers · Fabindia
Friction
Fabindia had demand and brand love, but most intent happened between campaigns where follow-up was missing and journeys quietly died.
See what Fabindia did
IMPACT
Calendar-first engine: Peaks at festivals and launches, long unmanaged gaps after.
Broadcast habits: Email, WhatsApp, and push ran as blasts, not conversation.
Silent leakage: Browses, carts, and drop-offs rarely triggered timely follow-up.
Tap to flip backMove away to flip
Reality check
Teams increased campaign velocity, but high-intent signals like price checks, abandons, and lapses stayed unanswered, so revenue did not compound.
See what Fabindia did
IMPACT
Next-campaign reflex: Planning stayed calendar-led instead of signal-led.
No nudge layer: Abandons and lapses did not trigger recovery journeys.
Anonymous ignored: High-intent visitors stayed invisible until they registered.
Tap to flip backMove away to flip
Customer OS
Fabindia shifted from scheduled journeys to triggered journeys, using live behaviour to decide who to re-engage, when, and on which channel.
See what Fabindia did
IMPACT
Live segments: Browse, cart, drop-off, return signals update instantly.
Always-on journeys: Event-triggered flows across WhatsApp, email, and push.
Impact: 2x growth in digital revenue. 9X ROI
Tap to flip backMove away to flip
Calendars tell you when you plan to speak. An always-on customer OS shows you whether you're listening – and how much revenue that difference is worth.
Turn these learnings into
your 2026 operating system
Work with our team to map agentic journeys, governance, and measurement to your P&L.
A focused working session for ecommerce and retail leaders.
What you'll walk away with
-
Map your highest-impact agentic use cases across discovery, conversion, and retention
-
Define governed agent architecture tailored to your data and CX guardrails
-
Align measurement to outcomes: conversion, AOV, margin, and cost-to-serve
-
Leave with a practical 30-60-90 day execution plan
No sales pitch. Just a focused working session built on the insights from this report.
Book your workshop
Share your details and we'll reach out to schedule a tailored session.
We'll respond within 24 hours with available times.
<script>
var nt_g_var = {
mobilePill: "",
headerId: "#Mobile_Home_DD_Header.mnm-child-logo",
headerType: "main"
}
</script>
<!-- Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<style id="" media="all">@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU7NSg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_m07NSg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_d0nNSg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNSg.ttf) format('truetype');
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(/fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_KUnNSg.ttf) format('truetype');
}
</style>
<!-- Lucide Icons -->
<script src="https://unpkg.com/lucide@latest/dist/umd/lucide.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:6383222,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
</script>
<!-- Google Tag Manager -->
<script>
(function(w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-KL7QS9B');
</script>
<!-- End Google Tag Manager -->
<!-- Google tag (gtag.js) -->
<script defer src="https://www.googletagmanager.com/gtag/js?id=AW-781898969"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'AW-781898969');
</script>
<!-- Google tag (gtag.js) -->
<script defer src="https://www.googleoptimize.com/optimize.js?id=OPT-NJKZKF4"></script>
<script>
(function(c, p, d, u, id, i) {
id = ''; // Optional Custom ID for user in your system
u = 'https://tracking.g2crowd.com/attribution_tracking/conversions/' + c + '.js?p=' + encodeURI(p) + '&e=' + id;
i = document.createElement('script');
i.type = 'application/javascript';
i.async = true;
i.src = u;
d.getElementsByTagName('head')[0].appendChild(i);
}("1007564", document.location.href, document));
</script>
<script>
(function(c, p, d, u, id, i) {
id = ''; // Optional Custom ID for user in your system
u = 'https://tracking.g2crowd.com/attribution_tracking/conversions/' + c + '.js?p=' + encodeURI(p) + '&e=' + id;
i = document.createElement('script');
i.type = 'application/javascript';
i.async = true;
i.src = u;
d.getElementsByTagName('head')[0].appendChild(i);
}("3237", document.location.href, document));
</script>
<style>
/* ============================================
NETCORE STANDALONE - SCOPED CSS
All classes prefixed with 'nc-' to avoid conflicts
============================================ */
/* CSS RESET & BASE STYLES */
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
/* Netcore Brand Colors */
--nc-primary: #FC5E02;
--nc-primary-light: rgba(252, 94, 2, 0.1);
--nc-primary-glow: rgba(252, 94, 2, 0.15);
/* Backgrounds */
--nc-bg-dark: #0F0F11;
--nc-bg-dark-card: #1A1A1C;
--nc-bg-white: #FFFFFF;
--nc-bg-gray: #F9FAFB;
--nc-bg-warm: #FFF5F0;
/* Text Colors */
--nc-text-primary: #1F1D2B;
--nc-text-secondary: #6B7280;
--nc-text-muted: #9CA3AF;
--nc-text-white: #FFFFFF;
--nc-text-white-muted: rgba(255, 255, 255, 0.7);
/* Borders */
--nc-border-light: #E5E7EB;
--nc-border-dark: rgba(255, 255, 255, 0.1);
/* Gradients */
--nc-gradient-hero: linear-gradient(135deg, #FC5E02 0%, #DC2626 100%);
--nc-gradient-number: linear-gradient(135deg, #FC5E02 0%, #F97316 50%, #FC5E02 100%);
/* Shadows */
--nc-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
--nc-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
--nc-shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
--nc-shadow-orange: 0 12px 40px -8px rgba(252, 94, 2, 0.15);
/* Spacing */
--nc-container-max: 1280px;
--nc-container-padding: 1.5rem;
/* Font */
--nc-font-heading: 'Plus Jakarta Sans', sans-serif;
--nc-font-body: 'Plus Jakarta Sans', sans-serif;
/* Transitions */
--nc-transition-fast: 0.2s ease;
--nc-transition-normal: 0.3s ease;
--nc-transition-slow: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
html {
scroll-behavior: smooth;
}
body {
font-family: var(--nc-font-body);
color: var(--nc-text-primary);
background-color: var(--nc-bg-white);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 {
font-family: var(--nc-font-heading);
line-height: 1.2;
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
text-decoration: none;
color: inherit;
}
button {
font-family: inherit;
cursor: pointer;
border: none;
background: none;
}
/* Global Lucide SVG icon fix: ensure all SVGs inherit container sizing */
[data-lucide] svg,
i[data-lucide] {
display: block;
}
/* Container */
.nc-container {
max-width: var(--nc-container-max);
margin: 0 auto;
/* padding-left: var(--nc-container-padding);
padding-right: var(--nc-container-padding); */
}
@media (min-width: 768px) {
:root {
--nc-container-padding: 2rem;
}
}
@media (min-width: 1024px) {
:root {
--nc-container-padding: 3rem;
}
}
/* ============================================
UTILITY CLASSES
============================================ */
.nc-text-gradient {
background: var(--nc-gradient-hero);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.nc-text-netcore-number {
background: var(--nc-gradient-number);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.nc-pill {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.375rem 0.75rem;
border-radius: 9999px;
font-size: 0.6875rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.nc-pill-dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--nc-primary);
}
.nc-pill-primary {
background: var(--nc-primary-light);
color: var(--nc-primary);
border: 1px solid rgba(252, 94, 2, 0.2);
}
/* ============================================
FADE-IN ANIMATION (Scroll-triggered)
============================================ */
.nc-fade-in {
opacity: 0;
transform: translateY(40px);
filter: blur(10px);
transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
filter 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.nc-fade-in.nc-visible {
opacity: 1;
transform: translateY(0);
filter: blur(0);
}
/* ============================================
HERO ON-LOAD ANIMATIONS (Staggered word reveal)
============================================ */
/* Hero badge on-load */
.nc-hero-badge-animate {
opacity: 0;
transform: translateY(20px);
filter: blur(8px);
animation: nc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
animation-delay: 0.2s;
}
/* Hero title word-by-word masked reveal */
.nc-hero-title-animate {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.5rem;
}
@media (min-width: 640px) {
.nc-hero-title-animate {
gap: 0.75rem;
}
}
@media (min-width: 768px) {
.nc-hero-title-animate {
gap: 1rem;
}
}
@media (min-width: 1024px) {
.nc-hero-title-animate {
gap: 1.25rem;
}
}
.nc-word-mask {
display: inline-block;
overflow: hidden;
padding: 0.125rem 0;
}
@media (min-width: 768px) {
.nc-word-mask {
padding: 0.25rem 0;
}
}
.nc-word-inner {
display: inline-block;
transform: translateY(100%);
animation: nc-word-reveal 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.nc-word-inner.nc-word-1 { animation-delay: 0.4s; }
.nc-word-inner.nc-word-2 { animation-delay: 0.52s; }
.nc-word-inner.nc-word-3 { animation-delay: 0.64s; }
.nc-word-inner.nc-word-4 { animation-delay: 0.76s; }
@keyframes nc-word-reveal {
0% {
transform: translateY(100%);
}
100% {
transform: translateY(0);
}
}
/* Hero subtitle on-load */
.nc-hero-subtitle-animate {
opacity: 0;
transform: translateY(30px);
filter: blur(8px);
animation: nc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
animation-delay: 0.9s;
}
@keyframes nc-fade-up {
0% {
opacity: 0;
transform: translateY(30px);
filter: blur(8px);
}
100% {
opacity: 1;
transform: translateY(0);
filter: blur(0);
}
}
/* Hero two-col staggered */
.nc-hero-text-p1 {
opacity: 0;
animation: nc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
animation-delay: 1.0s;
}
.nc-hero-text-p2 {
opacity: 0;
animation: nc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
animation-delay: 1.1s;
}
.nc-hero-text-p3 {
opacity: 0;
animation: nc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
animation-delay: 1.15s;
}
.nc-hero-text-p4 {
opacity: 0;
animation: nc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
animation-delay: 1.2s;
}
.nc-hero-quote-animate {
opacity: 0;
animation: nc-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
animation-delay: 1.3s;
}
/* Header animation */
.nc-header-logo-animate {
opacity: 0;
transform: translateX(-20px);
animation: nc-slide-in-left 0.5s ease forwards;
animation-delay: 0.1s;
}
.nc-header-nav-animate {
opacity: 0;
transform: translateX(20px);
animation: nc-slide-in-right 0.5s ease forwards;
animation-delay: 0.15s;
}
@keyframes nc-slide-in-left {
0% {
opacity: 0;
transform: translateX(-20px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
@keyframes nc-slide-in-right {
0% {
opacity: 0;
transform: translateX(20px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
/* ============================================
SEGMENTED PROGRESS BAR (Sticky)
============================================ */
.nc-progress-bar {
position: fixed;
top: 52px;
left: 0;
right: 0;
z-index: 40;
padding: 0.375rem 0.5rem;
background: linear-gradient(to bottom, rgba(15,15,17,0.85) 0%, rgba(15,15,17,0.7) 100%);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
opacity: 0;
transform: translateY(-10px);
pointer-events: none;
transition: opacity 0.3s ease, transform 0.3s ease;
}
@media (min-width: 768px) {
.nc-progress-bar {
top: 60px;
padding: 0.75rem 1.5rem;
}
}
.nc-progress-bar.nc-visible {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
.nc-progress-bar-inner {
max-width: var(--nc-container-max);
margin: 0 auto;
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 3px;
}
@media (min-width: 768px) {
.nc-progress-bar-inner {
display: flex;
gap: 4px;
}
}
.nc-progress-segment {
flex: 1;
height: 28px;
background: rgba(229, 231, 235, 0.15);
border-radius: 2px;
position: relative;
overflow: hidden;
cursor: pointer;
transition: transform 0.2s ease;
}
@media (min-width: 768px) {
.nc-progress-segment {
height: 24px;
}
}
.nc-progress-segment:hover {
transform: scale(1.02);
}
.nc-progress-fill {
position: absolute;
top: 0;
left: 0;
bottom: 0;
background: var(--nc-primary);
width: 0%;
transition: width 0.1s linear;
}
.nc-progress-label {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.625rem;
font-weight: 700;
color: rgba(156, 163, 175, 0.8);
letter-spacing: 0.05em;
z-index: 1;
}
@media (min-width: 768px) {
.nc-progress-label {
font-size: 0.75rem;
}
}
.nc-progress-segment.nc-active .nc-progress-label,
.nc-progress-segment.nc-complete .nc-progress-label {
color: white;
}
/* ============================================
HERO SECTION (Dark Theme)
============================================ */
.nc-hero {
position: relative;
min-height: 100vh;
background-color: var(--nc-bg-dark);
overflow: hidden;
}
.nc-hero-grid {
position: absolute;
inset: 0;
opacity: 0.03;
background-image:
linear-gradient(rgba(255,255,255,0.1) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.1) 1px, transparent 1px);
background-size: 80px 80px;
}
.nc-hero-glow-top {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 800px;
height: 500px;
background: radial-gradient(ellipse at center top, rgba(252,94,2,0.4) 0%, transparent 70%);
opacity: 0.3;
pointer-events: none;
}
.nc-hero-glow-bottom {
position: absolute;
bottom: 0;
left: 0;
width: 600px;
height: 400px;
background: radial-gradient(ellipse at bottom left, rgba(252,94,2,0.3) 0%, transparent 60%);
opacity: 0.2;
pointer-events: none;
}
/* Header */
.nc-header {
position: relative;
z-index: 20;
padding: 1.5rem;
}
.nc-header-inner {
max-width: var(--nc-container-max);
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
}
.nc-logo {
height: 28px;
width: auto;
}
@media (min-width: 768px) {
.nc-logo {
height: 32px;
}
}
.nc-nav {
display: none;
align-items: center;
gap: 2rem;
}
@media (min-width: 768px) {
.nc-nav {
display: flex;
}
}
.nc-nav-link {
font-size: 0.875rem;
color: var(--nc-text-white-muted);
transition: color var(--nc-transition-fast);
}
.nc-nav-link:hover {
color: var(--nc-text-white);
}
.nc-btn-primary {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0.5rem 1rem;
background: var(--nc-primary);
color: white;
font-size: 0.875rem;
font-weight: 600;
border-radius: 0.5rem;
transition: transform var(--nc-transition-fast), box-shadow var(--nc-transition-fast);
}
.nc-btn-primary:hover {
transform: scale(1.02);
box-shadow: 0 0 20px rgba(252, 94, 2, 0.4);
}
/* Sticky Header */
.nc-sticky-header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 50;
background: rgba(15, 15, 17, 0.95);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-bottom: 1px solid var(--nc-border-dark);
transform: translateY(-100%);
opacity: 0;
transition: transform 0.3s ease, opacity 0.3s ease;
}
.nc-sticky-header.nc-visible {
transform: translateY(0);
opacity: 1;
}
.nc-sticky-header-inner {
max-width: var(--nc-container-max);
margin: 0 auto;
padding: 0.625rem 1rem;
display: flex;
align-items: center;
justify-content: space-between;
}
@media (min-width: 768px) {
.nc-sticky-header-inner {
padding: 1rem 3rem;
}
}
.nc-sticky-header .nc-logo {
height: 24px;
}
@media (min-width: 768px) {
.nc-sticky-header .nc-logo {
height: 28px;
}
}
/* Hero Content */
.nc-hero-content {
position: relative;
z-index: 10;
max-width: 72rem;
margin: 0 auto;
padding: 3rem 1.5rem;
text-align: center;
}
@media (min-width: 768px) {
.nc-hero-content {
padding: 5rem 3rem;
}
}
@media (min-width: 1024px) {
.nc-hero-content {
padding: 7rem 4rem;
}
}
.nc-hero-badge {
display: inline-block;
padding: 0.625rem 1.5rem;
background: rgba(252, 94, 2, 0.15);
border: 1px solid rgba(252, 94, 2, 0.3);
border-radius: 9999px;
color: var(--nc-primary);
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.02em;
margin-bottom: 2rem;
}
@media (min-width: 768px) {
.nc-hero-badge {
font-size: 1rem;
}
}
.nc-hero-title {
font-size: 2.5rem;
font-weight: 900;
color: var(--nc-text-white);
letter-spacing: -0.02em;
line-height: 0.95;
margin-bottom: 2rem;
will-change: transform, opacity, filter;
transform: translate3d(0, 0, 0);
filter: blur(0px);
}
.nc-hero-title .nc-word {
display: inline-block;
margin: 0 0.25rem;
}
/* Used by the masked word-reveal markup ("Commerce" word) */
.nc-hero-title .nc-orange {
color: var(--nc-primary);
}
@media (min-width: 640px) {
.nc-hero-title {
font-size: 3rem;
}
.nc-hero-title .nc-word {
margin: 0 0.375rem;
}
}
@media (min-width: 768px) {
.nc-hero-title {
font-size: 3.75rem;
}
.nc-hero-title .nc-word {
margin: 0 0.5rem;
}
}
@media (min-width: 1024px) {
.nc-hero-title {
font-size: 4.5rem;
}
.nc-hero-title .nc-word {
margin: 0 0.625rem;
}
}
@media (min-width: 1280px) {
.nc-hero-title {
font-size: 5rem;
}
}
.nc-hero-subtitle {
font-size: 1.25rem;
color: rgba(255, 255, 255, 0.9);
font-weight: 500;
max-width: 56rem;
margin: 0 auto 4rem;
line-height: 1.4;
}
@media (min-width: 640px) {
.nc-hero-subtitle {
font-size: 1.5rem;
}
}
@media (min-width: 768px) {
.nc-hero-subtitle {
font-size: 1.875rem;
}
}
@media (min-width: 1024px) {
.nc-hero-subtitle {
font-size: 2.25rem;
}
}
/* Hero Two Column */
.nc-hero-two-col {
position: relative;
z-index: 10;
max-width: var(--nc-container-max);
margin: 0 auto;
padding: 4rem 1.5rem 6rem;
}
@media (min-width: 768px) {
.nc-hero-two-col {
padding: 5rem 3rem 8rem;
}
}
@media (min-width: 1024px) {
.nc-hero-two-col {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: start;
}
}
.nc-hero-text-col {
order: 2;
}
@media (min-width: 1024px) {
.nc-hero-text-col {
order: 1;
}
}
.nc-hero-text-col p {
font-size: 1rem;
color: var(--nc-text-white-muted);
line-height: 1.7;
margin-bottom: 1.25rem;
}
@media (min-width: 768px) {
.nc-hero-text-col p {
font-size: 1.125rem;
}
}
.nc-hero-quote-col {
order: 1;
margin-bottom: 2rem;
}
@media (min-width: 1024px) {
.nc-hero-quote-col {
order: 2;
margin-bottom: 0;
}
}
/* Glassmorphism Quote Card */
.nc-quote-card {
position: relative;
padding: 2rem;
border-radius: 1rem;
background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 100%);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.1);
box-shadow: 0 8px 32px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.1);
overflow: hidden;
}
@media (min-width: 768px) {
.nc-quote-card {
padding: 2.5rem;
}
}
.nc-quote-card::before {
content: '';
position: absolute;
inset: 0;
border-radius: 1rem;
background: linear-gradient(135deg, rgba(252,94,2,0.2) 0%, transparent 50%, rgba(252,94,2,0.1) 100%);
opacity: 0.5;
pointer-events: none;
}
.nc-quote-icon {
position: absolute;
top: 1.5rem;
left: 1.5rem;
width: 48px;
height: 48px;
color: var(--nc-primary);
opacity: 0.6;
}
@media (min-width: 768px) {
.nc-quote-icon {
width: 64px;
height: 64px;
}
}
.nc-quote-content {
position: relative;
z-index: 1;
padding-left: 2rem;
padding-top: 1rem;
}
@media (min-width: 768px) {
.nc-quote-content {
padding-left: 3rem;
}
}
.nc-quote-text {
font-size: 1.125rem;
color: rgba(255, 255, 255, 0.95);
font-style: italic;
line-height: 1.6;
margin-bottom: 1.25rem;
}
@media (min-width: 768px) {
.nc-quote-text {
font-size: 1.25rem;
}
}
@media (min-width: 1024px) {
.nc-quote-text {
font-size: 1.5rem;
}
}
.nc-quote-cite {
font-size: 0.875rem;
color: rgba(255, 255, 255, 0.5);
font-style: normal;
}
@media (min-width: 768px) {
.nc-quote-cite {
font-size: 1rem;
}
}
.nc-quote-glow {
position: absolute;
bottom: -2.5rem;
right: -2.5rem;
width: 10rem;
height: 10rem;
background: radial-gradient(circle, rgba(252,94,2,0.4) 0%, transparent 70%);
opacity: 0.4;
pointer-events: none;
}
/* ============================================
LEARNINGS INDEX SECTION (Dark)
============================================ */
.nc-learnings-index {
background: var(--nc-bg-dark);
padding: 2.5rem 0 6rem;
}
@media (min-width: 640px) {
.nc-learnings-index {
padding: 3.5rem 0 6rem;
}
}
@media (min-width: 768px) {
.nc-learnings-index {
padding: 6rem 0;
}
}
.nc-learnings-index-inner {
max-width: 64rem;
margin: 0 auto;
}
.nc-learnings-index-title {
font-size: 1.5rem;
font-weight: 700;
color: var(--nc-text-white);
letter-spacing: -0.02em;
margin-bottom: 1.5rem;
}
@media (min-width: 640px) {
.nc-learnings-index-title {
font-size: 1.875rem;
margin-bottom: 2.5rem;
}
}
@media (min-width: 768px) {
.nc-learnings-index-title {
font-size: 2.25rem;
margin-bottom: 4rem;
}
}
@media (min-width: 1024px) {
.nc-learnings-index-title {
font-size: 3rem;
}
}
.nc-learning-row {
display: block;
padding: 1rem;
border-bottom: 1px solid var(--nc-border-dark);
transition: background-color var(--nc-transition-normal);
cursor: pointer;
}
@media (min-width: 640px) {
.nc-learning-row {
padding: 1.25rem 1rem;
}
}
@media (min-width: 768px) {
.nc-learning-row {
padding: 2rem;
}
}
.nc-learning-row:first-child {
border-top: 1px solid var(--nc-border-dark);
}
.nc-learning-row:hover {
background-color: var(--nc-bg-dark-card);
}
.nc-learning-row-inner {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
@media (min-width: 640px) {
.nc-learning-row-inner {
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 1rem;
}
}
.nc-learning-row-top {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
}
@media (min-width: 640px) {
.nc-learning-row-top {
justify-content: flex-start;
}
}
.nc-learning-number {
color: #4A4A4A;
font-weight: 300;
font-size: 1.125rem;
letter-spacing: 0.05em;
min-width: 3rem;
}
@media (min-width: 640px) {
.nc-learning-number {
font-size: 1.25rem;
}
}
@media (min-width: 768px) {
.nc-learning-number {
font-size: 1.5rem;
}
}
.nc-brand-pill {
display: flex;
align-items: center;
padding: 0.25rem 0.5rem;
background: rgba(255, 255, 255, 0.1);
border: 1px solid var(--nc-border-dark);
border-radius: 0.5rem;
}
.nc-brand-pill img {
height: 1.5rem;
width: auto;
object-fit: contain;
border-radius: 2px;
}
@media (min-width: 640px) {
.nc-brand-pill {
display: none;
}
}
.nc-brand-pill-desktop {
display: none;
transition: opacity var(--nc-transition-fast);
}
.nc-brand-pill-desktop img {
/* height: 2.5rem; */
width: auto;
max-width: 140px;
object-fit: contain;
border-radius: 2px;
}
@media (min-width: 768px) {
.nc-brand-pill-desktop {
display: flex;
align-items: center;
}
}
.nc-learning-row:hover .nc-brand-pill-desktop {
opacity: 0;
}
.nc-learning-content {
flex: 1;
min-width: 0;
}
@media (min-width: 640px) {
.nc-learning-content {
padding: 0 1rem;
}
}
.nc-learning-title {
font-size: 1rem;
font-weight: 600;
color: var(--nc-text-white);
line-height: 1.4;
letter-spacing: -0.01em;
transition: color var(--nc-transition-normal);
}
@media (min-width: 640px) {
.nc-learning-title {
font-size: 1.125rem;
}
}
@media (min-width: 768px) {
.nc-learning-title {
font-size: 1.5rem;
}
}
@media (min-width: 1024px) {
.nc-learning-title {
font-size: 1.875rem;
}
}
.nc-learning-row:hover .nc-learning-title {
color: var(--nc-primary);
}
.nc-learning-quote {
font-size: 0.75rem;
color: var(--nc-text-muted);
margin-top: 0.375rem;
max-height: 0;
overflow: hidden;
opacity: 0;
transition: all var(--nc-transition-normal);
}
@media (min-width: 640px) {
.nc-learning-quote {
font-size: 0.875rem;
}
}
@media (min-width: 768px) {
.nc-learning-quote {
font-size: 1rem;
}
}
/* Mobile: always show quote */
@media (max-width: 639px) {
.nc-learning-quote {
max-height: 100px;
opacity: 1;
margin-top: 0.375rem;
}
}
/* Desktop: show on hover */
@media (min-width: 640px) {
.nc-learning-row:hover .nc-learning-quote {
max-height: 100px;
opacity: 1;
margin-top: 0.75rem;
}
}
.nc-learning-row-right {
display: none;
align-items: center;
gap: 1rem;
min-width: 100px;
justify-content: flex-end;
}
@media (min-width: 640px) {
.nc-learning-row-right {
display: flex;
min-width: 120px;
}
}
.nc-learning-arrow,
.nc-learning-arrow svg {
width: 20px;
height: 20px;
color: var(--nc-primary);
opacity: 0;
transform: translateX(-10px);
transition: opacity var(--nc-transition-normal), transform var(--nc-transition-normal);
}
@media (min-width: 768px) {
.nc-learning-arrow,
.nc-learning-arrow svg {
width: 24px;
height: 24px;
}
}
.nc-learning-row:hover .nc-learning-arrow {
opacity: 1;
transform: translateX(0);
}
/* ============================================
LEARNING SECTION (Light Theme)
============================================ */
.nc-learning-section {
background: var(--nc-bg-white);
}
.nc-learning-section.nc-gray-bg {
background: var(--nc-bg-gray);
}
.nc-chapter-light-bg {
background: linear-gradient(to bottom right, var(--nc-bg-white), rgba(249, 250, 251, 0.3), rgba(249, 250, 251, 0.2));
}
/* Learning Hero */
.nc-learning-hero {
padding: 3rem 0 4rem;
overflow: hidden;
}
@media (min-width: 768px) {
.nc-learning-hero {
padding: 6rem 0;
}
}
.nc-learning-hero-inner {
display: flex;
flex-direction: column;
gap: 1rem;
}
@media (min-width: 1024px) {
.nc-learning-hero-inner {
flex-direction: row;
align-items: flex-start;
gap: 2rem;
}
}
.nc-learning-hero-left {
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
flex: 1;
}
@media (min-width: 1024px) {
.nc-learning-hero-left {
flex-direction: row;
align-items: flex-start;
gap: 2rem;
}
}
.nc-section-number {
font-size: 5rem;
font-weight: 900;
line-height: 1;
}
@media (min-width: 640px) {
.nc-section-number {
font-size: 7rem;
}
}
@media (min-width: 768px) {
.nc-section-number {
font-size: 10rem;
}
}
@media (min-width: 1024px) {
.nc-section-number {
font-size: 12rem;
}
}
.nc-section-title {
font-size: 1.5rem;
font-weight: 700;
line-height: 1.15;
text-align: center;
padding-top: 0.5rem;
}
@media (min-width: 640px) {
.nc-section-title {
font-size: 1.875rem;
}
}
@media (min-width: 768px) {
.nc-section-title {
font-size: 2.25rem;
}
}
@media (min-width: 1024px) {
.nc-section-title {
font-size: 2.5rem;
text-align: left;
padding-top: 1.5rem;
}
}
.nc-learning-hero-image {
flex-shrink: 0;
border-radius: 1rem;
overflow: hidden;
box-shadow: var(--nc-shadow-lg);
border: 1px solid var(--nc-border-light);
transition: box-shadow var(--nc-transition-normal), transform var(--nc-transition-normal);
}
.nc-learning-hero-image:hover {
box-shadow: var(--nc-shadow-orange);
transform: translateY(-4px);
}
@media (min-width: 1024px) {
.nc-learning-hero-image {
width: 420px;
}
}
.nc-learning-hero-image img {
aspect-ratio: 16/10;
width: 100%;
object-fit: cover;
transition: transform var(--nc-transition-slow), filter var(--nc-transition-slow);
}
.nc-learning-hero-image:hover img {
transform: scale(1.02);
filter: brightness(1.05);
}
/* Key Takeaway Card */
.nc-key-takeaway {
padding: 1.5rem 0 2.5rem;
}
@media (min-width: 768px) {
.nc-key-takeaway {
padding: 1.5rem 0 2.5rem;
}
}
.nc-key-takeaway-card {
position: relative;
border-radius: 0.75rem;
border: 1px solid var(--nc-border-light);
box-shadow: var(--nc-shadow-lg);
overflow: hidden;
transition: box-shadow var(--nc-transition-normal), transform var(--nc-transition-fast);
}
.nc-key-takeaway-card:hover {
box-shadow: 0 12px 40px -8px rgba(0, 0, 0, 0.15);
transform: translateY(-2px);
}
.nc-key-takeaway-card.nc-warm {
background: var(--nc-bg-warm);
}
.nc-key-takeaway-card.nc-white {
background: var(--nc-bg-white);
}
.nc-key-takeaway-border {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 4px;
background: var(--nc-primary);
}
.nc-key-takeaway-inner {
padding: 1.5rem 1.5rem 1.5rem 2rem;
}
@media (min-width: 768px) {
.nc-key-takeaway-inner {
padding: 2rem 2.5rem 2rem 3rem;
}
}
@media (min-width: 1024px) {
.nc-key-takeaway-inner {
padding: 2.5rem 2.5rem 2.5rem 3rem;
}
.nc-key-takeaway-svg {
display: flex !important;
}
}
.nc-key-takeaway-text {
font-size: 1.125rem;
color: var(--nc-text-primary);
line-height: 1.6;
margin-top: 1.25rem;
}
@media (min-width: 768px) {
.nc-key-takeaway-text {
font-size: 1.25rem;
}
}
@media (min-width: 1024px) {
.nc-key-takeaway-text {
font-size: 1.375rem;
}
}
.nc-key-takeaway-text strong {
color: #28202C;
}
.nc-key-takeaway-subtext {
font-size: 0.875rem;
color: var(--nc-text-secondary);
margin-top: 1rem;
line-height: 1.6;
}
.nc-key-takeaway-subtext strong {
color: var(--nc-text-primary);
font-weight: 600;
}
@media (min-width: 768px) {
.nc-key-takeaway-subtext {
font-size: 1rem;
}
}
@media (min-width: 1024px) {
.nc-key-takeaway-svg-wrap {
display: flex !important;
align-items: center;
justify-content: center;
}
}
.nc-flip-cards-section {
padding: 2rem 0 2.5rem;
}
@media (min-width: 768px) {
.nc-flip-cards-section {
padding: 2rem 0 2.5rem;
}
}
.nc-flip-cards-label {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.375rem 0.75rem;
background: var(--nc-bg-white);
border: 1px solid #E5E7EB;
border-radius: 9999px;
box-shadow: var(--nc-shadow-sm);
margin-bottom: 1.5rem;
}
.nc-flip-cards-label-dot {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--nc-primary);
}
.nc-flip-cards-label-text {
font-size: 0.6875rem;
font-weight: 700;
color: var(--nc-text-secondary);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.nc-flip-cards-grid {
display: grid;
grid-template-columns: 1fr;
gap: 1.5rem;
}
@media (min-width: 768px) {
.nc-flip-cards-grid {
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
}
}
/* Individual Flip Card - HOVER FLIP on desktop, CLICK on mobile */
.nc-flip-card {
position: relative;
min-height: 350px;
cursor: pointer;
perspective: 1200px;
}
@media (min-width: 768px) {
.nc-flip-card {
height: 420px;
}
}
.nc-flip-card-inner {
position: relative;
width: 100%;
height: 100%;
transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
transform-style: preserve-3d;
}
/* Desktop: flip on hover */
@media (min-width: 768px) {
.nc-flip-card:hover .nc-flip-card-inner {
transform: rotateY(180deg);
}
}
/* Mobile: flip on click/tap - controlled by JS */
.nc-flip-card.nc-flipped .nc-flip-card-inner {
transform: rotateY(180deg);
}
.nc-flip-card-front,
.nc-flip-card-back {
position: absolute;
inset: 0;
border-radius: 0.75rem;
border: 1px solid var(--nc-border-light);
overflow: hidden;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}
.nc-flip-card-front {
background: var(--nc-bg-white);
}
.nc-flip-card-back {
background: linear-gradient(180deg, #FAFBFC 0%, #F3F4F6 100%);
transform: rotateY(180deg);
}
.nc-flip-card-accent {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
}
.nc-flip-card-content {
padding: 2rem;
height: 100%;
display: flex;
flex-direction: column;
}
.nc-flip-card-pill {
display: inline-flex;
align-items: center;
align-self: flex-start;
gap: 0.375rem;
padding: 0.25rem 0.625rem;
border-radius: 9999px;
font-size: 0.625rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 1.25rem;
}
.nc-flip-card-pill-dot {
width: 6px;
height: 6px;
border-radius: 50%;
}
.nc-flip-card-header {
display: flex;
align-items: flex-start;
gap: 0.75rem;
margin-bottom: 1.25rem;
}
.nc-flip-card-icon {
padding: 0.625rem;
border-radius: 0.5rem;
flex-shrink: 0;
}
.nc-flip-card-icon i,
.nc-flip-card-icon svg {
width: 20px;
height: 20px;
display: block;
}
.nc-flip-card-title {
font-size: 1.125rem;
font-weight: 600;
color: #111827;
line-height: 1.4;
}
.nc-flip-card-punchline {
font-size: 0.875rem;
color: #4B5563;
line-height: 1.6;
flex: 1;
}
.nc-flip-card-cta {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 0.375rem;
margin-top: 1.25rem;
padding-top: 1rem;
border-top: 1px solid #F3F4F6;
font-size: 0.75rem;
font-weight: 500;
}
.nc-flip-card-cta i,
.nc-flip-card-cta svg {
width: 14px;
height: 14px;
display: block;
}
/* Flip Card Back */
.nc-flip-card-back-header {
display: flex;
align-items: center;
gap: 0.75rem;
padding-bottom: 1rem;
margin-bottom: 1.5rem;
border-bottom: 1px solid #E5E7EB;
}
.nc-flip-card-back-icon {
padding: 0.5rem;
background: var(--nc-bg-white);
border-radius: 0.5rem;
box-shadow: var(--nc-shadow-sm);
display: flex;
align-items: center;
justify-content: center;
}
.nc-flip-card-back-icon i,
.nc-flip-card-back-icon svg {
width: 16px;
height: 16px;
display: block;
}
.nc-flip-card-back-title {
font-size: 1.25rem;
font-weight: 700;
color: #111827;
}
.nc-flip-card-facts {
flex: 1;
display: flex;
flex-direction: column;
gap: 1.25rem;
}
.nc-flip-card-fact {
display: flex;
gap: 0.75rem;
}
.nc-flip-card-fact-icon {
flex-shrink: 0;
width: 20px;
height: 20px;
border-radius: 4px;
background: var(--nc-primary);
display: flex;
align-items: center;
justify-content: center;
margin-top: 2px;
}
.nc-flip-card-fact-icon i,
.nc-flip-card-fact-icon svg {
width: 12px;
height: 12px;
color: white;
stroke-width: 3;
display: block;
}
.nc-flip-card-fact-text {
font-size: 0.8125rem;
color: #4B5563;
line-height: 1.5;
}
.nc-flip-card-fact-text strong {
color: #111827;
}
.nc-flip-card-fact-chip {
display: inline-block;
padding: 0.125rem 0.375rem;
border-radius: 4px;
font-size: 0.625rem;
font-weight: 700;
margin-left: 0.5rem;
}
.nc-flip-card-corner {
position: absolute;
bottom: 0.75rem;
right: 0.75rem;
display: flex;
align-items: center;
gap: 0.375rem;
opacity: 0.6;
}
@media (min-width: 768px) {
.nc-flip-card-corner {
bottom: 1rem;
right: 1rem;
}
}
.nc-flip-card-corner-text {
font-size: 0.5625rem;
color: #6B7280;
}
/* Different text for mobile vs desktop */
.nc-flip-card-corner-text-mobile {
display: inline;
}
.nc-flip-card-corner-text-desktop {
display: none;
}
@media (min-width: 768px) {
.nc-flip-card-corner-text-mobile {
display: none;
}
.nc-flip-card-corner-text-desktop {
display: inline;
font-size: 0.625rem;
}
}
.nc-flip-card-corner-icon {
width: 16px;
height: 16px;
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
}
.nc-flip-card-corner-icon i,
.nc-flip-card-corner-icon svg {
width: 10px;
height: 10px;
display: block;
}
@media (min-width: 768px) {
.nc-flip-card-corner-icon {
width: 20px;
height: 20px;
}
}
/* Section Takeaway */
.nc-section-takeaway {
padding: 2.5rem 0 3.5rem;
text-align: center;
}
@media (min-width: 768px) {
.nc-section-takeaway {
padding: 2.5rem 0 3.5rem;
}
}
.nc-section-takeaway-text {
font-size: 1.125rem;
font-weight: 600;
color: rgba(31, 29, 43, 0.8);
max-width: 56rem;
margin: 0 auto;
line-height: 1.6;
}
@media (min-width: 768px) {
.nc-section-takeaway-text {
font-size: 1.25rem;
}
}
@media (min-width: 1024px) {
.nc-section-takeaway-text {
font-size: 1.5rem;
}
}
.nc-section-takeaway-text .nc-highlight {
color: var(--nc-primary);
}
/* ============================================
WORKSHOP CTA SECTION
============================================ */
.nc-workshop-cta {
background: #28202C;
padding: 5rem 1rem;
position: relative;
overflow: hidden;
}
@media (min-width: 768px) {
.nc-workshop-cta {
padding: 7rem 1.5rem;
}
}
@media (min-width: 1024px) {
.nc-workshop-cta {
padding: 9rem 2rem;
}
}
.nc-workshop-cta-glow-1 {
position: absolute;
top: 0;
left: 25%;
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(252, 94, 2, 1) 0%, transparent 70%);
opacity: 0.2;
filter: blur(100px);
pointer-events: none;
}
.nc-workshop-cta-glow-2 {
position: absolute;
bottom: 0;
right: 25%;
width: 500px;
height: 500px;
background: radial-gradient(circle, rgba(139, 92, 246, 1) 0%, transparent 70%);
opacity: 0.15;
filter: blur(80px);
pointer-events: none;
}
.nc-workshop-cta-grid {
position: absolute;
inset: 0;
opacity: 0.03;
background-image:
linear-gradient(rgba(255, 255, 255, 1) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 1) 1px, transparent 1px);
background-size: 60px 60px;
pointer-events: none;
}
.nc-workshop-cta-inner {
position: relative;
z-index: 10;
max-width: 72rem;
margin: 0 auto;
}
.nc-workshop-cta-badge {
display: flex;
justify-content: center;
margin-bottom: 2rem;
}
.nc-workshop-cta-badge-inner {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
background: rgba(252, 94, 2, 0.15);
border: 1px solid rgba(252, 94, 2, 0.3);
border-radius: 9999px;
}
.nc-workshop-cta-badge-icon {
width: 16px;
height: 16px;
color: var(--nc-primary);
}
.nc-workshop-cta-badge-text {
font-size: 0.875rem;
font-weight: 500;
color: var(--nc-primary);
}
.nc-workshop-cta-headline {
text-align: center;
font-size: 1.875rem;
font-weight: 800;
color: var(--nc-text-white);
line-height: 1.1;
letter-spacing: -0.02em;
margin-bottom: 1.5rem;
}
@media (min-width: 640px) {
.nc-workshop-cta-headline {
font-size: 2.25rem;
}
}
@media (min-width: 768px) {
.nc-workshop-cta-headline {
font-size: 3rem;
}
}
@media (min-width: 1024px) {
.nc-workshop-cta-headline {
font-size: 3.75rem;
}
}
.nc-workshop-cta-headline span {
color: var(--nc-primary);
}
.nc-workshop-cta-subhead {
text-align: center;
font-size: 1.125rem;
color: var(--nc-text-white-muted);
max-width: 48rem;
margin: 0 auto 3rem;
}
@media (min-width: 768px) {
.nc-workshop-cta-subhead {
font-size: 1.25rem;
}
}
.nc-workshop-cta-cols {
display: grid;
grid-template-columns: 1fr;
gap: 2.5rem;
align-items: flex-start;
}
@media (min-width: 1024px) {
.nc-workshop-cta-cols {
grid-template-columns: 1fr 1fr;
gap: 4rem;
}
}
.nc-workshop-cta-outcomes h3 {
font-size: 1.25rem;
font-weight: 700;
color: var(--nc-text-white);
margin-bottom: 1.5rem;
}
.nc-workshop-cta-outcomes ul {
list-style: none;
display: flex;
flex-direction: column;
gap: 1rem;
}
.nc-workshop-cta-outcomes li {
display: flex;
align-items: flex-start;
gap: 1rem;
}
.nc-workshop-cta-check {
flex-shrink: 0;
width: 24px;
height: 24px;
border-radius: 50%;
background: rgba(252, 94, 2, 0.2);
display: flex;
align-items: center;
justify-content: center;
margin-top: 2px;
}
.nc-workshop-cta-check i {
width: 14px;
height: 14px;
color: var(--nc-primary);
}
.nc-workshop-cta-outcomes li span {
font-size: 1rem;
color: rgba(255, 255, 255, 0.85);
line-height: 1.6;
}
.nc-workshop-cta-trust {
margin-top: 2rem;
padding-top: 1.5rem;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.nc-workshop-cta-trust p {
font-size: 0.875rem;
color: rgba(255, 255, 255, 0.5);
}
/* Form Card */
.nc-workshop-form-card {
position: relative;
background: var(--nc-bg-white);
border-radius: 1rem;
padding: 2rem;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
@media (min-width: 768px) {
.nc-workshop-form-card {
padding: 2.5rem;
}
}
.nc-workshop-form-accent {
position: absolute;
top: 0;
left: 2rem;
right: 2rem;
height: 4px;
background: linear-gradient(to right, var(--nc-primary), var(--nc-primary), rgba(252, 94, 2, 0.6));
border-radius: 9999px;
}
.nc-workshop-form-card h3 {
font-size: 1.5rem;
font-weight: 700;
color: var(--nc-text-primary);
margin-bottom: 0.5rem;
}
.nc-workshop-form-card > p {
color: var(--nc-text-secondary);
margin-bottom: 2rem;
}
.nc-workshop-form-group {
margin-bottom: 1.25rem;
}
.nc-workshop-form-group label {
display: block;
font-size: 0.875rem;
font-weight: 500;
color: var(--nc-text-primary);
margin-bottom: 0.5rem;
}
.nc-workshop-form-group input {
width: 100%;
padding: 0.875rem 1rem;
border-radius: 0.75rem;
border: 1px solid var(--nc-border-light);
background: rgba(249, 250, 251, 0.3);
font-size: 1rem;
color: var(--nc-text-primary);
transition: border-color var(--nc-transition-fast), box-shadow var(--nc-transition-fast);
}
.nc-workshop-form-group input::placeholder {
color: var(--nc-text-muted);
}
.nc-workshop-form-group input:focus,
.nc-workshop-form-group select:focus {
outline: none;
border-color: var(--nc-primary);
box-shadow: 0 0 0 3px rgba(252, 94, 2, 0.1);
}
.nc-workshop-form-submit {
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.875rem 1.5rem;
background: var(--nc-primary);
color: white;
font-size: 1.125rem;
font-weight: 700;
border-radius: 0.75rem;
transition: background-color var(--nc-transition-fast), transform var(--nc-transition-fast);
}
.nc-workshop-form-submit:hover {
background: #e55502;
transform: scale(1.01);
}
.nc-workshop-form-submit i {
width: 20px;
height: 20px;
}
.nc-workshop-form-note {
text-align: center;
font-size: 0.75rem;
color: var(--nc-text-muted);
margin-top: 1.5rem;
}
/* Success State */
.nc-workshop-form-success {
text-align: center;
padding: 2rem 0;
}
.nc-workshop-form-success-icon {
width: 64px;
height: 64px;
border-radius: 50%;
background: rgba(252, 94, 2, 0.15);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1.25rem;
}
.nc-workshop-form-success-icon i {
width: 32px;
height: 32px;
color: var(--nc-primary);
}
.nc-workshop-form-success h3 {
margin-bottom: 0.5rem;
}
.nc-workshop-form-success p {
color: var(--nc-text-secondary);
}
/* ============================================
RESPONSIVE ADJUSTMENTS
============================================ */
@media (max-width: 639px) {
.nc-container {
padding-left: 1rem;
padding-right: 1rem;
}
}
/* ============================================
ANIMATIONS
============================================ */
@keyframes nc-float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-8px); }
}
@keyframes nc-pulse {
0%, 100% { opacity: 0.5; }
50% { opacity: 0.85; }
}
.nc-animate-float {
animation: nc-float 6s ease-in-out infinite;
}
.nc-animate-pulse {
animation: nc-pulse 3s ease-in-out infinite;
}
</style>
<body>
<!-- Sticky Header (appears on scroll) -->
<header class="nc-sticky-header" id="nc-sticky-header">
<div class="nc-sticky-header-inner">
<a class="nc-logo-link" href="https://netcorecloud.com/" target="_blank" rel="noopener noreferrer">
<img src="https://netcorecloud.com/wp-content/uploads/2026/01/Netcore_Logo_white.png" width="30%" alt="netcore">
</a>
<nav class="nc-nav">
<a href="#nc-learnings-section" class="nc-nav-link">The 6 Learnings</a>
<a href="#nc-workshop-cta" class="nc-btn-primary">Book Workshop</a>
</nav>
</div>
</header>
<!-- Progress Bar -->
<div class="nc-progress-bar" id="nc-progress-bar">
<div class="nc-progress-bar-inner">
<button class="nc-progress-segment" data-section="nc-learning-1">
<div class="nc-progress-fill"></div>
<span class="nc-progress-label">01</span>
</button>
<button class="nc-progress-segment" data-section="nc-learning-2">
<div class="nc-progress-fill"></div>
<span class="nc-progress-label">02</span>
</button>
<button class="nc-progress-segment" data-section="nc-learning-3">
<div class="nc-progress-fill"></div>
<span class="nc-progress-label">03</span>
</button>
<button class="nc-progress-segment" data-section="nc-learning-4">
<div class="nc-progress-fill"></div>
<span class="nc-progress-label">04</span>
</button>
<button class="nc-progress-segment" data-section="nc-learning-5">
<div class="nc-progress-fill"></div>
<span class="nc-progress-label">05</span>
</button>
<button class="nc-progress-segment" data-section="nc-learning-6">
<div class="nc-progress-fill"></div>
<span class="nc-progress-label">06</span>
</button>
</div>
</div>
<!-- Hero Section -->
<section class="nc-hero" id="nc-hero">
<div class="nc-hero-grid"></div>
<div class="nc-hero-glow-top"></div>
<div class="nc-hero-glow-bottom"></div>
<!-- Header -->
<header class="nc-header">
<div class="nc-header-inner">
<a href="#" class="nc-header-logo-animate">
<img src="https://netcorecloud.com/wp-content/uploads/2026/01/Netcore_Logo_white.png" class="nc-logo" width="30%" alt="netcore">
</a>
<nav class="nc-nav nc-header-nav-animate">
<a href="#nc-learnings-section" class="nc-nav-link">The 6 Learnings</a>
<a href="#nc-workshop-cta" class="nc-btn-primary">Book Workshop</a>
</nav>
</div>
</header>
<!-- Hero Content -->
<div class="nc-hero-content">
<div class="nc-hero-badge nc-hero-badge-animate">Agentic Marketing | Ecommerce 2026</div>
<div style="width: 80%; margin: 0 auto;">
<h1 class="nc-hero-title nc-hero-title-animate">
<span class="nc-word-mask"><span class="nc-word-inner nc-word-1">The</span></span>
<span class="nc-word-mask"><span class="nc-word-inner nc-word-2">Agentic</span></span>
<span class="nc-word-mask"><span class="nc-word-inner nc-word-3 nc-orange">Commerce</span></span>
<span class="nc-word-mask"><span class="nc-word-inner nc-word-4">Shift</span></span>
</h1>
</div>
<p class="nc-hero-subtitle nc-hero-subtitle-animate">Ecommerce learnings and trends that must adopt in 2026 for revenue growth and profitability.</p>
</div>
<!-- Two Column Content -->
<div class="nc-hero-two-col">
<div class="nc-hero-text-col">
<p class="nc-hero-text-p1">In 2025, ecommerce did not run out of ideas. It ran out of excuses.</p>
<p class="nc-hero-text-p2">Teams moved faster than ever. GenAI pilots went live. Data systems expanded. New journeys and channels were added with speed and intent. On the surface, ecommerce looked more advanced than at any point before.</p>
<p class="nc-hero-text-p3">But the conversation changed. As complexity grew, leadership focus shifted from possibility to payoff. CEOs and boards began asking a simpler question: what is the business case, and where is the return.</p>
<p class="nc-hero-text-p4">This report focuses on the points where that tension surfaced most clearly. The moments where activity was no longer enough. Where execution had to prove its impact on conversion, revenue, and profitability.</p>
</div>
<div class="nc-hero-quote-col nc-hero-quote-animate">
<div class="nc-quote-card">
<svg class="nc-quote-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">
<path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V21z"/>
<path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z"/>
</svg>
<div class="nc-quote-content">
<blockquote class="nc-quote-text">"All CFOs are now asking for what's the business case. What's the ROI?"</blockquote>
<cite class="nc-quote-cite">— Schneider Electric CIO, 2025</cite>
</div>
<div class="nc-quote-glow"></div>
</div>
</div>
</div>
</section>
<!-- Learnings Index Section -->
<section class="nc-learnings-index" id="nc-learnings-section">
<div class="nc-container nc-learnings-index-inner">
<h2 class="nc-learnings-index-title nc-fade-in">Six ecommerce trends that will define 2026</h2>
<div class="nc-learnings-list">
<!-- Learning 1 -->
<a href="#nc-learning-1" class="nc-learning-row nc-fade-in">
<div class="nc-learning-row-inner">
<div class="nc-learning-row-top">
<span class="nc-learning-number">01</span>
<span class="nc-brand-pill"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/walmart.png?dsaff" alt="Walmart"></span>
</div>
<div class="nc-learning-content">
<h3 class="nc-learning-title">Loss-making ecommerce is a systems problem, not a tools problem</h3>
<p class="nc-learning-quote">"Are we still scaling an online business that barely pays for itself?"</p>
</div>
<div class="nc-learning-row-right">
<span class="nc-brand-pill-desktop"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/walmart.png?dsaff" alt="Walmart"></span>
<i data-lucide="arrow-right" class="nc-learning-arrow"></i>
</div>
</div>
</a>
<!-- Learning 2 -->
<a href="#nc-learning-2" class="nc-learning-row nc-fade-in">
<div class="nc-learning-row-inner">
<div class="nc-learning-row-top">
<span class="nc-learning-number">02</span>
<span class="nc-brand-pill"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/restaurant-equippers.png?dsaff" alt="Restaurant Equippers"></span>
</div>
<div class="nc-learning-content">
<h3 class="nc-learning-title">Humans don't buy what they can't find in a minute</h3>
<p class="nc-learning-quote">"Can a serious buyer reach the right product in under a minute?"</p>
</div>
<div class="nc-learning-row-right">
<span class="nc-brand-pill-desktop"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/restaurant-equippers.png?dsaff" alt="Restaurant Equippers"></span>
<i data-lucide="arrow-right" class="nc-learning-arrow"></i>
</div>
</div>
</a>
<!-- Learning 3 -->
<a href="#nc-learning-3" class="nc-learning-row nc-fade-in">
<div class="nc-learning-row-inner">
<div class="nc-learning-row-top">
<span class="nc-learning-number">03</span>
<span class="nc-brand-pill"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/morrisons.png?dsaff" alt="Morrisons"></span>
</div>
<div class="nc-learning-content">
<h3 class="nc-learning-title">Fresh markdowns turned from margin drain to lever</h3>
<p class="nc-learning-quote">"Who is really deciding our discounts on fresh today?"</p>
</div>
<div class="nc-learning-row-right">
<span class="nc-brand-pill-desktop"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/morrisons.png?dsaff" alt="Morrisons"></span>
<i data-lucide="arrow-right" class="nc-learning-arrow"></i>
</div>
</div>
</a>
<!-- Learning 4 -->
<a href="#nc-learning-4" class="nc-learning-row nc-fade-in">
<div class="nc-learning-row-inner">
<div class="nc-learning-row-top">
<span class="nc-learning-number">04</span>
<span class="nc-brand-pill"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/messhoo.png?dsaff" alt="Meesho"></span>
</div>
<div class="nc-learning-content">
<h3 class="nc-learning-title">Language stopped being localisation. It became infrastructure.</h3>
<p class="nc-learning-quote">"How many future customers will only show up if we speak their language?"</p>
</div>
<div class="nc-learning-row-right">
<span class="nc-brand-pill-desktop"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/messhoo.png?dsaff" alt="Meesho"></span>
<i data-lucide="arrow-right" class="nc-learning-arrow"></i>
</div>
</div>
</a>
<!-- Learning 5 -->
<a href="#nc-learning-5" class="nc-learning-row nc-fade-in">
<div class="nc-learning-row-inner">
<div class="nc-learning-row-top">
<span class="nc-learning-number">05</span>
<span class="nc-brand-pill"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/tesco.png?dsaff" alt="Tesco"></span>
</div>
<div class="nc-learning-content">
<h3 class="nc-learning-title">Shopping missions, not channels, explain how people buy</h3>
<p class="nc-learning-quote">"Do we know our top missions and design differently for each one?"</p>
</div>
<div class="nc-learning-row-right">
<span class="nc-brand-pill-desktop"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/tesco.png?dsaff" alt="Tesco"></span>
<i data-lucide="arrow-right" class="nc-learning-arrow"></i>
</div>
</div>
</a>
<!-- Learning 6 -->
<a href="#nc-learning-6" class="nc-learning-row nc-fade-in">
<div class="nc-learning-row-inner">
<div class="nc-learning-row-top">
<span class="nc-learning-number">06</span>
<span class="nc-brand-pill"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/fabindia.png?dsaff" alt="Fabindia"></span>
</div>
<div class="nc-learning-content">
<h3 class="nc-learning-title">When always-on journeys quietly out-earned the campaign calendar</h3>
<p class="nc-learning-quote">"How much revenue now comes from journeys that fire themselves?"</p>
</div>
<div class="nc-learning-row-right">
<span class="nc-brand-pill-desktop"><img src="https://netcorecloud.com/wp-content/uploads/2026/02/fabindia.png?dsaff" alt="Fabindia"></span>
<i data-lucide="arrow-right" class="nc-learning-arrow"></i>
</div>
</div>
</a>
</div>
</div>
</section>
<!-- Learning 1 Section -->
<section class="nc-learning-section" id="nc-learning-1">
<!-- Hero -->
<div class="nc-learning-hero nc-chapter-light-bg">
<div class="nc-container">
<div class="nc-learning-hero-inner">
<div class="nc-learning-hero-left">
<span class="nc-section-number nc-text-netcore-number nc-fade-in">01</span>
<h2 class="nc-section-title nc-text-gradient nc-fade-in">Loss-making ecommerce is a systems problem, not a tools problem</h2>
</div>
<div class="nc-learning-hero-image nc-fade-in">
<img src="https://netcorecloud.com/wp-content/uploads/2026/02/learning1-hero.jpg" alt="Business executive analyzing declining revenue charts in a digital command center">
</div>
</div>
</div>
</div>
<!-- Key Takeaway -->
<div class="nc-key-takeaway">
<div class="nc-container">
<div class="nc-key-takeaway-card nc-warm nc-fade-in">
<div class="nc-key-takeaway-border"></div>
<div class="nc-key-takeaway-inner" style="display: flex; align-items: flex-start; gap: 2.5rem;">
<div style="flex: 1;">
<span class="nc-pill nc-pill-primary">
<span class="nc-pill-dot"></span>
Key takeaway · Learning 01
</span>
<p class="nc-key-takeaway-text">
Ecommerce economics don't change because you add more AI features. <strong>They change when you collapse dozens of bots and copilots into a small number of governed agents,</strong> sitting on unified data and explicitly accountable for online profitability.
</p>
</div>
<div class="nc-key-takeaway-svg-wrap" style="flex-shrink: 0; width: 10rem; height: 10rem; opacity: 0.3; display: none;">
<svg viewBox="0 0 100 100" width="100%" height="100%">
<circle cx="50" cy="50" r="12" fill="hsl(22, 98%, 50%)" opacity="0.6" />
<line x1="50" y1="50" x2="50" y2="15" stroke="hsl(22, 98%, 50%)" stroke-width="2" opacity="0.5" />
<line x1="50" y1="50" x2="85" y2="50" stroke="hsl(22, 98%, 50%)" stroke-width="2" opacity="0.5" />
<line x1="50" y1="50" x2="50" y2="85" stroke="hsl(22, 98%, 50%)" stroke-width="2" opacity="0.5" />
<line x1="50" y1="50" x2="15" y2="50" stroke="hsl(22, 98%, 50%)" stroke-width="2" opacity="0.5" />
<circle cx="50" cy="15" r="7" fill="hsl(22, 98%, 50%)" opacity="0.4" />
<circle cx="85" cy="50" r="7" fill="hsl(22, 98%, 50%)" opacity="0.4" />
<circle cx="50" cy="85" r="7" fill="hsl(22, 98%, 50%)" opacity="0.4" />
<circle cx="15" cy="50" r="7" fill="hsl(22, 98%, 50%)" opacity="0.4" />
</svg>
</div>
</div>
</div>
</div>
</div>
<!-- Flip Cards -->
<div class="nc-flip-cards-section">
<div class="nc-container">
<div class="nc-flip-cards-label nc-fade-in">
<span class="nc-flip-cards-label-dot"></span>
<span class="nc-flip-cards-label-text">Inside the numbers · Walmart</span>
</div>
<div class="nc-flip-cards-grid">
<!-- Card 1: First wave -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 96%); color: hsl(250, 60%, 55%); border: 1px solid hsl(250, 60%, 88%);">
<span class="nc-flip-card-pill-dot" style="background: hsl(250, 60%, 55%);"></span>
First wave
</span>
<div class="nc-flip-card-header">
<div class="nc-flip-card-icon" style="background: hsl(250, 60%, 96%);">
<i data-lucide="sparkles" style="color: hsl(250, 60%, 55%);"></i>
</div>
<h3 class="nc-flip-card-title">AI spread fast, margin stayed ownerless</h3>
</div>
<p class="nc-flip-card-punchline">Walmart put GenAI into search, HQ, and stores. It shipped everywhere, but online margin moved nowhere because no one owned <span style="color: hsl(250, 60%, 55%); font-weight: 600;">profitability</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(250, 60%, 55%);">
<span style="font-size: 0.75rem; font-weight: 500;">See what Walmart did</span>
<i data-lucide="chevron-right"></i>
</div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 55%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header">
<div class="nc-flip-card-back-icon">
<i data-lucide="layers" style="color: hsl(250, 60%, 55%);"></i>
</div>
<h4 class="nc-flip-card-back-title">What Walmart rolled out</h4>
</div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact">
<div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div>
<p class="nc-flip-card-fact-text"><strong>Customer:</strong> Occasion-based GenAI that builds full baskets.</p>
</div>
<div class="nc-flip-card-fact">
<div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div>
<p class="nc-flip-card-fact-text"><strong>HQ:</strong> "My Assistant" for 50K associates to summarise and draft.</p>
</div>
<div class="nc-flip-card-fact">
<div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div>
<p class="nc-flip-card-fact-text"><strong>Stores:</strong> AI support for 1.5M associates across tasks, policy Q&A, and 44-language translation.</p>
</div>
</div>
<div class="nc-flip-card-corner">
<span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span>
<span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span>
<div class="nc-flip-card-corner-icon" style="background: rgba(124, 58, 237, 0.2);">
<i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(250, 60%, 55%);"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Card 2: Reality check -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 96%); color: hsl(25, 95%, 50%); border: 1px solid hsl(25, 95%, 88%);">
<span class="nc-flip-card-pill-dot" style="background: hsl(25, 95%, 50%);"></span>
Reality check
</span>
<div class="nc-flip-card-header">
<div class="nc-flip-card-icon" style="background: hsl(25, 95%, 96%);">
<i data-lucide="alert-triangle" style="color: hsl(25, 95%, 50%);"></i>
</div>
<h3 class="nc-flip-card-title">Fragmentation became technical debt</h3>
</div>
<p class="nc-flip-card-punchline">Walmart learned that more copilots meant more confusion. Disconnected tools made local wins, but at scale they amplified cost and weak <span style="color: hsl(25, 95%, 50%); font-weight: 600;">technical debt</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(25, 95%, 50%);">
<span style="font-size: 0.75rem; font-weight: 500;">See what Walmart did</span>
<i data-lucide="chevron-right"></i>
</div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header">
<div class="nc-flip-card-back-icon">
<i data-lucide="git-branch" style="color: hsl(25, 95%, 50%);"></i>
</div>
<h4 class="nc-flip-card-back-title">Why 2025 forced a rethink</h4>
</div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact">
<div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div>
<p class="nc-flip-card-fact-text"><strong>Scaling issue:</strong> Each bot had its own data view, rules, and success metric.</p>
</div>
<div class="nc-flip-card-fact">
<div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div>
<p class="nc-flip-card-fact-text"><strong>Hidden debt:</strong> Inconsistent answers, duplicated work, weak guardrails.</p>
</div>
<div class="nc-flip-card-fact">
<div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div>
<p class="nc-flip-card-fact-text"><strong>At scale:</strong> AI amplified cost and fulfilment loss, not profit.</p>
</div>
</div>
<div class="nc-flip-card-corner">
<span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span>
<span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span>
<div class="nc-flip-card-corner-icon" style="background: rgba(245, 158, 11, 0.2);">
<i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(25, 95%, 50%);"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Card 3: Agentic spine -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 96%); color: hsl(200, 70%, 50%); border: 1px solid hsl(200, 70%, 88%);">
<span class="nc-flip-card-pill-dot" style="background: hsl(200, 70%, 50%);"></span>
Agentic spine
</span>
<div class="nc-flip-card-header">
<div class="nc-flip-card-icon" style="background: hsl(200, 70%, 96%);">
<i data-lucide="compass" style="color: hsl(200, 70%, 50%);"></i>
</div>
<h3 class="nc-flip-card-title">The agentic spine that changed the conversation</h3>
</div>
<p class="nc-flip-card-punchline">Walmart shifted to a few governed entry agents on shared data. With clear owners, AI stopped being features and started driving <span style="color: hsl(200, 70%, 50%); font-weight: 600;">profit outcomes</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(200, 70%, 50%);">
<span style="font-size: 0.75rem; font-weight: 500;">See what Walmart did</span>
<i data-lucide="chevron-right"></i>
</div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header">
<div class="nc-flip-card-back-icon">
<i data-lucide="activity" style="color: hsl(200, 70%, 50%);"></i>
</div>
<h4 class="nc-flip-card-back-title">The move that changed the conversation</h4>
</div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact">
<div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div>
<p class="nc-flip-card-fact-text"><strong>Structure:</strong> Four super agents. Sparky drives shopping, Associate runs stores, Marty powers suppliers, Developer builds.</p>
</div>
<div class="nc-flip-card-fact">
<div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div>
<p class="nc-flip-card-fact-text"><strong>Ambition:</strong> 50% of total sales from ecommerce in five years.</p>
</div>
</div>
<div class="nc-flip-card-corner">
<span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span>
<span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span>
<div class="nc-flip-card-corner-icon" style="background: rgba(56, 189, 248, 0.2);">
<i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(200, 70%, 50%);"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Takeaway -->
<div class="nc-section-takeaway">
<div class="nc-container">
<p class="nc-section-takeaway-text nc-fade-in">AI spread across chatbots, search and copilots is activity. <span class="nc-highlight">A few well-governed agents on unified data is strategy.</span></p>
</div>
</div>
</section>
<!-- Learning 2 Section -->
<section class="nc-learning-section nc-gray-bg" id="nc-learning-2">
<div class="nc-learning-hero">
<div class="nc-container">
<div class="nc-learning-hero-inner">
<div class="nc-learning-hero-left">
<span class="nc-section-number nc-text-netcore-number nc-fade-in">02</span>
<h2 class="nc-section-title nc-text-gradient nc-fade-in">Humans don't buy what they can't find in a minute</h2>
</div>
<div class="nc-learning-hero-image nc-fade-in">
<img src="https://netcorecloud.com/wp-content/uploads/2026/02/learning2-hero.jpg" alt="Woman searching for noise-cancelling headphones on futuristic AI-powered interface">
</div>
</div>
</div>
</div>
<div class="nc-key-takeaway" style="background: var(--nc-bg-gray);">
<div class="nc-container">
<div class="nc-key-takeaway-card nc-white nc-fade-in">
<div class="nc-key-takeaway-border"></div>
<div class="nc-key-takeaway-inner" style="display: flex; align-items: flex-start; gap: 2.5rem;">
<div style="flex: 1;">
<span class="nc-pill nc-pill-primary"><span class="nc-pill-dot"></span>Key takeaway · Learning 02</span>
<p class="nc-key-takeaway-text">Ecommerce doesn't leak most at checkout. It leaks at search. <strong>When discovery becomes a one minute guided conversation, add to cart and revenue rise without increasing media spend.</strong></p>
<p class="nc-key-takeaway-subtext"><strong>Case in point:</strong> Restaurant Equippers, a B2B kitchen equipment retailer that turned search into a digital salesperson.</p>
</div>
<div style="flex-shrink: 0; width: 10rem; height: 10rem; opacity: 0.3; display: none;" class="nc-key-takeaway-svg-wrap">
<svg viewBox="0 0 100 100" width="100%" height="100%">
<circle cx="50" cy="50" r="12" fill="hsl(22, 98%, 50%)" opacity="0.6" />
<circle cx="50" cy="50" r="24" fill="none" stroke="hsl(22, 98%, 50%)" stroke-width="1.5" opacity="0.4" />
<circle cx="50" cy="50" r="36" fill="none" stroke="hsl(22, 98%, 50%)" stroke-width="1" opacity="0.3" />
<circle cx="72" cy="28" r="10" fill="none" stroke="hsl(22, 98%, 50%)" stroke-width="1.5" opacity="0.5" />
<line x1="79" y1="35" x2="86" y2="42" stroke="hsl(22, 98%, 50%)" stroke-width="2" opacity="0.5" stroke-linecap="round" />
<circle cx="35" cy="70" r="4" fill="hsl(22, 98%, 50%)" opacity="0.4" />
<circle cx="65" cy="68" r="3" fill="hsl(22, 98%, 50%)" opacity="0.35" />
</svg>
</div>
</div>
</div>
</div>
</div>
<!-- Flip Cards - Restaurant Equippers -->
<div class="nc-flip-cards-section" style="background: var(--nc-bg-gray);">
<div class="nc-container">
<div class="nc-flip-cards-label nc-fade-in">
<span class="nc-flip-cards-label-dot"></span>
<span class="nc-flip-cards-label-text">Inside the numbers · Restaurant Equippers</span>
</div>
<div class="nc-flip-cards-grid">
<!-- Card 1: Before -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 96%); color: hsl(250, 60%, 55%); border: 1px solid hsl(250, 60%, 88%);">
<span class="nc-flip-card-pill-dot" style="background: hsl(250, 60%, 55%);"></span>
Before
</span>
<div class="nc-flip-card-header">
<div class="nc-flip-card-icon" style="background: hsl(250, 60%, 96%);">
<i data-lucide="search" style="color: hsl(250, 60%, 55%);"></i>
</div>
<h3 class="nc-flip-card-title">Spec intent, weak discovery</h3>
</div>
<p class="nc-flip-card-punchline">At Restaurant Equippers, buyers typed exact specs. Legacy search returned noise or <span style="color: hsl(250, 60%, 55%); font-weight: 600;">dead ends</span>, forcing tab hopping, support calls, and abandoned sessions.</p>
<div class="nc-flip-card-cta" style="color: hsl(250, 60%, 55%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Restaurant Equippers did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 55%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header">
<div class="nc-flip-card-back-icon"><i data-lucide="grid-3x3" style="color: hsl(250, 60%, 55%);"></i></div>
<h4 class="nc-flip-card-back-title">What discovery looked like before</h4>
</div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Spec heavy demand:</strong> Ovens, refrigeration, prep tables with exact requirements.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Keyword limits:</strong> Weak stemming and synonyms missed trade terms.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Noisy outcomes:</strong> Precise queries still returned irrelevant options.</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(124, 58, 237, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(250, 60%, 55%);"></i></div></div>
</div>
</div>
</div>
</div>
<!-- Card 2: Shift -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 96%); color: hsl(25, 95%, 50%); border: 1px solid hsl(25, 95%, 88%);">
<span class="nc-flip-card-pill-dot" style="background: hsl(25, 95%, 50%);"></span>
Shift
</span>
<div class="nc-flip-card-header">
<div class="nc-flip-card-icon" style="background: hsl(25, 95%, 96%);"><i data-lucide="message-square" style="color: hsl(25, 95%, 50%);"></i></div>
<h3 class="nc-flip-card-title">Search became a sales rep</h3>
</div>
<p class="nc-flip-card-punchline">Restaurant Equippers adopted AI-powered search alongside Shopping Agent for guided, conversational discovery. This agent asked clarifying questions, understood specs and matched shoppers to right products instantly.</p>
<div class="nc-flip-card-cta" style="color: hsl(25, 95%, 50%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Restaurant Equippers did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="git-branch" style="color: hsl(25, 95%, 50%);"></i></div><h4 class="nc-flip-card-back-title">What changed when discovery became conversational</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Spec understanding:</strong> Attributes, dimensions, capacity, power, trade names.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Guided flow:</strong> Clarifying questions and multi step refinement.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Shortlist speed:</strong> Confidence in under a minute, fewer wrong clicks.</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(245, 158, 11, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(25, 95%, 50%);"></i></div></div>
</div>
</div>
</div>
</div>
<!-- Card 3: Impact -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 96%); color: hsl(200, 70%, 50%); border: 1px solid hsl(200, 70%, 88%);">
<span class="nc-flip-card-pill-dot" style="background: hsl(200, 70%, 50%);"></span>
Impact
</span>
<div class="nc-flip-card-header">
<div class="nc-flip-card-icon" style="background: hsl(200, 70%, 96%);"><i data-lucide="trending-up" style="color: hsl(200, 70%, 50%);"></i></div>
<h3 class="nc-flip-card-title">Same traffic, better outcomes</h3>
</div>
<p class="nc-flip-card-punchline">Restaurant Equippers did not add new channels. Fixing discovery lifted conversion behavior and order quality by matching intent to the right SKU faster.</p>
<div class="nc-flip-card-cta" style="color: hsl(200, 70%, 50%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Restaurant Equippers did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="activity" style="color: hsl(200, 70%, 50%);"></i></div><h4 class="nc-flip-card-back-title">What actually moved in the numbers</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Add to cart:</strong> 12–20% uplift as spec-correct matches improved.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Search engagement:</strong> 3× higher with more refinement and fewer dead ends.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Revenue:</strong> ~20% uplift plus higher average order value.</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(56, 189, 248, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(200, 70%, 50%);"></i></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="nc-section-takeaway" style="background: var(--nc-bg-gray);">
<div class="nc-container">
<p class="nc-section-takeaway-text nc-fade-in">If discovery takes more than 60 seconds, <span class="nc-highlight">you're not losing attention—you're losing revenue.</span></p>
</div>
</div>
</section>
<!-- Learning 3 Section -->
<section class="nc-learning-section" id="nc-learning-3">
<div class="nc-learning-hero nc-chapter-light-bg">
<div class="nc-container">
<div class="nc-learning-hero-inner">
<div class="nc-learning-hero-left">
<span class="nc-section-number nc-text-netcore-number nc-fade-in">03</span>
<h2 class="nc-section-title nc-text-gradient nc-fade-in">Fresh markdowns turned from margin drain to lever</h2>
</div>
<div class="nc-learning-hero-image nc-fade-in">
<img src="https://netcorecloud.com/wp-content/uploads/2026/02/learning3-hero.jpg" alt="Morrisons AI-powered markdown system for fresh produce">
</div>
</div>
</div>
</div>
<div class="nc-key-takeaway">
<div class="nc-container">
<div class="nc-key-takeaway-card nc-warm nc-fade-in">
<div class="nc-key-takeaway-border"></div>
<div class="nc-key-takeaway-inner" style="display: flex; align-items: flex-start; gap: 2.5rem;">
<div style="flex: 1;">
<span class="nc-pill nc-pill-primary"><span class="nc-pill-dot"></span>Key takeaway · Learning 03</span>
<p class="nc-key-takeaway-text">Fresh margin rarely leaks because of demand. It leaks because markdowns run on human guesswork. When markdowns become a governed, store-level AI loop, fresh turns from volatility into a controllable profit lever.</p>
<p class="nc-key-takeaway-subtext"><strong>Case in point:</strong> Morrisons. A UK grocer that replaced manual markdown rounds with an AI-managed price rhythm across fresh.</p>
</div>
<div style="flex-shrink: 0; width: 10rem; height: 10rem; opacity: 0.3; display: none;" class="nc-key-takeaway-svg-wrap">
<svg viewBox="0 0 100 100" width="100%" height="100%">
<circle cx="50" cy="50" r="35" fill="none" stroke="hsl(150, 45%, 50%)" stroke-width="3" opacity="0.2" />
<defs>
<linearGradient id="loopGradient3" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="hsl(0, 60%, 55%)" />
<stop offset="50%" stop-color="hsl(22, 98%, 50%)" />
<stop offset="100%" stop-color="hsl(150, 50%, 45%)" />
</linearGradient>
</defs>
<circle cx="50" cy="50" r="35" fill="none" stroke="url(#loopGradient3)" stroke-width="4" stroke-dasharray="160 220" stroke-linecap="round" transform="rotate(-90 50 50)" />
<!-- <path d="M75 30 L82 35 L78 42" stroke="hsl(150, 50%, 45%)" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" fill="none" /> -->
<rect x="40" y="42" width="20" height="16" rx="2" fill="none" stroke="hsl(22, 98%, 50%)" stroke-width="2" />
<circle cx="43" cy="48" r="2" fill="hsl(22, 98%, 50%)" />
<line x1="48" y1="47" x2="56" y2="47" stroke="hsl(22, 98%, 50%)" stroke-width="1.5" />
<line x1="48" y1="52" x2="54" y2="52" stroke="hsl(22, 98%, 50%)" stroke-width="1.5" />
</svg>
</div>
</div>
</div>
</div>
</div>
<!-- Flip Cards - Morrisons -->
<div class="nc-flip-cards-section">
<div class="nc-container">
<div class="nc-flip-cards-label nc-fade-in">
<span class="nc-flip-cards-label-dot"></span>
<span class="nc-flip-cards-label-text">Inside the numbers ·Morrisons</span>
</div>
<div class="nc-flip-cards-grid">
<!-- Card 1: Pressure point -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 96%); color: hsl(250, 60%, 55%); border: 1px solid hsl(250, 60%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(250, 60%, 55%);"></span>Pressure point</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(250, 60%, 96%);"><i data-lucide="alert-circle" style="color: hsl(250, 60%, 55%);"></i></div><h3 class="nc-flip-card-title">Fresh looked premium, but it bled margin</h3></div>
<p class="nc-flip-card-punchline">Morrisons ran multiple manual markdown rounds daily. Under time pressure, teams guessed discounts store by store, and small errors scaled into <span style="color: hsl(250, 60%, 55%); font-weight: 600;">big leakage</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(250, 60%, 55%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Morrisons did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 55%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="grid-3x3" style="color: hsl(250, 60%, 55%);"></i></div><h4 class="nc-flip-card-back-title">Where the pressure really was</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Brand asset, daily fire drill:</strong> Fresh counters drove loyalty, but short shelf life forced constant pricing decisions.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Manual cadence:</strong> Around three markdown rounds a day, based on eyeballing stock under pressure. <span class="nc-flip-card-fact-chip" style="background: hsl(250, 60%, 96%); color: hsl(250, 60%, 55%);">3 rounds/day</span></p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Two failure modes:</strong> Too shallow meant waste. Too deep meant margin loss.</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(124, 58, 237, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(250, 60%, 55%);"></i></div></div>
</div>
</div>
</div>
</div>
<!-- Card 2: Decision loop -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 96%); color: hsl(25, 95%, 50%); border: 1px solid hsl(25, 95%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(25, 95%, 50%);"></span>Decision loop</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(25, 95%, 96%);"><i data-lucide="refresh-cw" style="color: hsl(25, 95%, 50%);"></i></div><h3 class="nc-flip-card-title">They stopped treating markdowns like an art</h3></div>
<p class="nc-flip-card-punchline">Morrisons turned markdowns into an <span style="color: hsl(25, 95%, 50%); font-weight: 600;">automated loop</span> that reads local demand, inventory, and elasticity, then updates prices through the day.</p>
<div class="nc-flip-card-cta" style="color: hsl(25, 95%, 50%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Morrisons did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="git-branch" style="color: hsl(25, 95%, 50%);"></i></div><h4 class="nc-flip-card-back-title">What changed with AI markdowns</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Inputs that matter:</strong> Store-level inventory, demand patterns, and price elasticity. <span class="nc-flip-card-fact-chip" style="background: hsl(25, 95%, 96%); color: hsl(25, 95%, 50%);">Store-level elasticity</span></p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Continuous optimization:</strong> Prices recalculated to clear by end-of-life while protecting margin.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Action, not analytics:</strong> New prices pushed to colleagues' handhelds as guided actions.</p></div>
<!-- <div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Governed loop:</strong> Consistent logic across stores, measurable and controllable.</p></div> -->
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(245, 158, 11, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(25, 95%, 50%);"></i></div></div>
</div>
</div>
</div>
</div>
<!-- Card 3: Business impact -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 96%); color: hsl(200, 70%, 50%); border: 1px solid hsl(200, 70%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(200, 70%, 50%);"></span>Business impact</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(200, 70%, 96%);"><i data-lucide="trending-up" style="color: hsl(200, 70%, 50%);"></i></div><h3 class="nc-flip-card-title">The win was fewer rounds and smarter prices</h3></div>
<p class="nc-flip-card-punchline">This was not "more discounting." It was fewer manual rounds, store-specific markdown curves, and fresh economics that became <span style="color: hsl(200, 70%, 50%); font-weight: 600;">predictable and scalable</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(200, 70%, 50%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Morrisons did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="activity" style="color: hsl(200, 70%, 50%);"></i></div><h4 class="nc-flip-card-back-title">What moved in the business</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Less labour burn:</strong> Two of three daily markdown cycles removed, freeing staff time. <span class="nc-flip-card-fact-chip" style="background: hsl(200, 70%, 96%); color: hsl(200, 70%, 50%);">2 of 3 cycles removed</span></p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Local curves beat rules:</strong> Store-specific markdown trajectories replaced one-size-fits-all logic.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Cleaner outcomes:</strong> Better clearance with less margin giveaway and stronger markdown revenue quality.</p></div>
<!-- <div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Executive result:</strong> Fresh became a managed system, not a daily scramble.</p></div> -->
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(56, 189, 248, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(200, 70%, 50%);"></i></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="nc-section-takeaway">
<div class="nc-container">
<p class="nc-section-takeaway-text nc-fade-in">Dynamic pricing on fresh is no longer experimental. <span class="nc-highlight">It's the new baseline for grocery margin.</span></p>
</div>
</div>
</section>
<!-- Learning 4 Section -->
<section class="nc-learning-section nc-gray-bg" id="nc-learning-4">
<div class="nc-learning-hero">
<div class="nc-container">
<div class="nc-learning-hero-inner">
<div class="nc-learning-hero-left">
<span class="nc-section-number nc-text-netcore-number nc-fade-in">04</span>
<h2 class="nc-section-title nc-text-gradient nc-fade-in">Language stopped being localisation. It became infrastructure.</h2>
</div>
<div class="nc-learning-hero-image nc-fade-in">
<img src="https://netcorecloud.com/wp-content/uploads/2026/02/learning4-hero.jpg" alt="Voice commerce interface with Hindi text and vernacular language support">
</div>
</div>
</div>
</div>
<div class="nc-key-takeaway" style="background: var(--nc-bg-gray);">
<div class="nc-container">
<div class="nc-key-takeaway-card nc-white nc-fade-in">
<div class="nc-key-takeaway-border"></div>
<div class="nc-key-takeaway-inner" style="display: flex; align-items: flex-start; gap: 2.5rem;">
<div style="flex: 1;">
<span class="nc-pill nc-pill-primary"><span class="nc-pill-dot"></span>Key takeaway · Learning 04</span>
<p class="nc-key-takeaway-text">In growth markets, <strong>language is not localisation. It is infrastructure.</strong> When vernacular and voice become the default interface across journeys and support, you unlock both conversion lift and a lower cost-to-serve.</p>
<p class="nc-key-takeaway-subtext"><strong>Case in point:</strong> Meesho treated vernacular and voice as core product rails, then used AI voice agents to scale service without scaling cost.</p>
</div>
<div style="flex-shrink: 0; width: 10rem; height: 10rem; opacity: 0.3; display: none;" class="nc-key-takeaway-svg-wrap">
<svg viewBox="0 0 120 120" width="100%" height="100%">
<!-- Waveform dots -->
<circle cx="15" cy="60" r="2" fill="#FC5E02" />
<circle cx="28" cy="72" r="3" fill="#FC5E02" />
<circle cx="41" cy="55" r="4" fill="#FC5E02" />
<circle cx="54" cy="65" r="2" fill="#FC5E02" />
<circle cx="67" cy="50" r="3.5" fill="#FC5E02" />
<circle cx="80" cy="62" r="2" fill="#FC5E02" />
<circle cx="93" cy="57" r="3" fill="#FC5E02" />
<circle cx="106" cy="68" r="2.5" fill="#FC5E02" />
<!-- Chat bubble outline -->
<path d="M30 25 Q30 15 40 15 L80 15 Q90 15 90 25 L90 45 Q90 55 80 55 L50 55 L40 65 L40 55 Q30 55 30 45 Z" fill="none" stroke="#FC5E02" stroke-width="1.5" />
<!-- Mic icon -->
<circle cx="95" cy="85" r="10" fill="none" stroke="#FC5E02" stroke-width="1.5" />
<rect x="92" y="78" width="6" height="10" rx="3" fill="#FC5E02" />
<path d="M90 88 L90 92 L100 92 L100 88" fill="none" stroke="#FC5E02" stroke-width="1" />
</svg>
</div>
</div>
</div>
</div>
</div>
<!-- Flip Cards - Meesho -->
<div class="nc-flip-cards-section" style="background: var(--nc-bg-gray);">
<div class="nc-container">
<div class="nc-flip-cards-label nc-fade-in">
<span class="nc-flip-cards-label-dot"></span>
<span class="nc-flip-cards-label-text">Inside the numbers · Meesho</span>
</div>
<div class="nc-flip-cards-grid">
<!-- Card 1: Pressure -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 96%); color: hsl(250, 60%, 55%); border: 1px solid hsl(250, 60%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(250, 60%, 55%);"></span>Pressure</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(250, 60%, 96%);"><i data-lucide="users" style="color: hsl(250, 60%, 55%);"></i></div><h3 class="nc-flip-card-title">English-first pushed shoppers out</h3></div>
<p class="nc-flip-card-punchline">Meesho's core demand was Tier II+ and first-time buyers. English-first flows did not just slow checkout, they reduced <span style="color: hsl(250, 60%, 55%); font-weight: 600;">trust and completion</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(250, 60%, 55%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Meesho did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 55%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="map-pin" style="color: hsl(250, 60%, 55%);"></i></div><h4 class="nc-flip-card-back-title">Where the pressure really was</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Base reality:</strong> 160M+ customers, majority from Tier II+ towns.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Trust barrier:</strong> English was a drop-off trigger, not inconvenience.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>New-to-ecom:</strong> First-time cohorts needed confidence to transact.</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(124, 58, 237, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(250, 60%, 55%);"></i></div></div>
</div>
</div>
</div>
</div>
<!-- Card 2: Shift -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 96%); color: hsl(25, 95%, 50%); border: 1px solid hsl(25, 95%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(25, 95%, 50%);"></span>Shift</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(25, 95%, 96%);"><i data-lucide="languages" style="color: hsl(25, 95%, 50%);"></i></div><h3 class="nc-flip-card-title">Vernacular became the default journey</h3></div>
<p class="nc-flip-card-punchline">Meesho rebuilt the funnel so browsing, ordering, tracking, and payment worked end to end in-language, not as partial translation for the <span style="color: hsl(25, 95%, 50%); font-weight: 600;">default journey</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(25, 95%, 50%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Meesho did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="message-circle" style="color: hsl(25, 95%, 50%);"></i></div><h4 class="nc-flip-card-back-title">What changed with vernacular</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Scale move:</strong> Added eight vernacular languages beyond Hindi and English.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Full journey:</strong> Browse, order, track, pay in-language.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Onboarding lever:</strong> Vernacular became default onboarding for new users.</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(245, 158, 11, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(25, 95%, 50%);"></i></div></div>
</div>
</div>
</div>
</div>
<!-- Card 3: Economics -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 96%); color: hsl(200, 70%, 50%); border: 1px solid hsl(200, 70%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(200, 70%, 50%);"></span>Economics</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(200, 70%, 96%);"><i data-lucide="headphones" style="color: hsl(200, 70%, 50%);"></i></div><h3 class="nc-flip-card-title">Voice turned support into leverage</h3></div>
<p class="nc-flip-card-punchline">Meesho used GenAI voice to absorb high-volume queries at scale, improving resolution while cutting service cost without expanding teams for <span style="color: hsl(200, 70%, 50%); font-weight: 600;">support into leverage</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(200, 70%, 50%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Meesho did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="trending-down" style="color: hsl(200, 70%, 50%);"></i></div><h4 class="nc-flip-card-back-title">How voice shifted economics</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>At scale:</strong> ~60,000 calls per day handled by voice bot.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Efficiency:</strong> Handling time halved, ~95% resolution.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Experience:</strong> Around 10% CSAT uplift.</p></div>
<!-- <div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Cost:</strong> Some call expense lines down up to 75%.</p></div> -->
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(56, 189, 248, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(200, 70%, 50%);"></i></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="nc-section-takeaway" style="background: var(--nc-bg-gray);">
<div class="nc-container">
<p class="nc-section-takeaway-text nc-fade-in">In growth markets, language and voice agents are not campaigns. <span class="nc-highlight">They are the operating system for how your next 100 million customers discover, decide and get served.</span></p>
</div>
</div>
</section>
<!-- Learning 5 Section -->
<section class="nc-learning-section" id="nc-learning-5">
<div class="nc-learning-hero nc-chapter-light-bg">
<div class="nc-container">
<div class="nc-learning-hero-inner">
<div class="nc-learning-hero-left">
<span class="nc-section-number nc-text-netcore-number nc-fade-in">05</span>
<h2 class="nc-section-title nc-text-gradient nc-fade-in">Shopping touchpoints hide the missions behind purchases</h2>
</div>
<div class="nc-learning-hero-image nc-fade-in">
<img src="https://netcorecloud.com/wp-content/uploads/2026/02/learning5-hero.jpg" alt="Kitchen scene showing omnichannel shopping missions">
</div>
</div>
</div>
</div>
<div class="nc-key-takeaway">
<div class="nc-container">
<div class="nc-key-takeaway-card nc-warm nc-fade-in">
<div class="nc-key-takeaway-border"></div>
<div class="nc-key-takeaway-inner" style="display: flex; align-items: flex-start; gap: 2.5rem;">
<div style="flex: 1;">
<span class="nc-pill nc-pill-primary"><span class="nc-pill-dot"></span>Key takeaway · Learning 05</span>
<p class="nc-key-takeaway-text">Channels are easy to report, but they hide what drives trips, baskets, and loyalty. <strong>Tesco learned that missions like big shop, top-up, and need-it-now behave like different businesses.</strong></p>
<p class="nc-key-takeaway-subtext"><strong>Case in point:</strong> Tesco reframed growth around trip missions first, then used formats like Express, online, and rapid as execution.</p>
</div>
<div style="flex-shrink: 0; width: 10rem; height: 10rem; opacity: 0.3; display: none;" class="nc-key-takeaway-svg-wrap">
<svg viewBox="0 0 100 100" width="100%" height="100%">
<circle cx="50" cy="50" r="10" fill="hsl(22, 98%, 50%)" opacity="0.6" />
<line x1="50" y1="50" x2="25" y2="20" stroke="hsl(22, 98%, 50%)" stroke-width="2" opacity="0.5" />
<line x1="50" y1="50" x2="75" y2="20" stroke="hsl(22, 98%, 50%)" stroke-width="2" opacity="0.5" />
<line x1="50" y1="50" x2="50" y2="85" stroke="hsl(22, 98%, 50%)" stroke-width="2" opacity="0.5" />
<circle cx="25" cy="20" r="8" fill="hsl(22, 98%, 50%)" opacity="0.4" />
<circle cx="75" cy="20" r="8" fill="hsl(22, 98%, 50%)" opacity="0.4" />
<circle cx="50" cy="85" r="8" fill="hsl(22, 98%, 50%)" opacity="0.4" />
<text x="25" y="8" font-size="5" fill="hsl(22, 98%, 50%)" text-anchor="middle" opacity="0.6">Big</text>
<text x="75" y="8" font-size="5" fill="hsl(22, 98%, 50%)" text-anchor="middle" opacity="0.6">Top-up</text>
<text x="50" y="98" font-size="5" fill="hsl(22, 98%, 50%)" text-anchor="middle" opacity="0.6">Now</text>
</svg>
</div>
</div>
</div>
</div>
</div>
<!-- Flip Cards - Tesco -->
<div class="nc-flip-cards-section">
<div class="nc-container">
<div class="nc-flip-cards-label nc-fade-in">
<span class="nc-flip-cards-label-dot"></span>
<span class="nc-flip-cards-label-text">Inside the numbers · Tesco</span>
</div>
<div class="nc-flip-cards-grid">
<!-- Card 1: Pressure -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 96%); color: hsl(250, 60%, 55%); border: 1px solid hsl(250, 60%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(250, 60%, 55%);"></span>Pressure</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(250, 60%, 96%);"><i data-lucide="store" style="color: hsl(250, 60%, 55%);"></i></div><h3 class="nc-flip-card-title">The store was mission-shaped, strategy was channel-shaped</h3></div>
<p class="nc-flip-card-punchline">Tesco had formats for every trip, but decisions still defaulted to store vs online vs rapid. That blurred what customers were actually trying to do as <span style="color: hsl(250, 60%, 55%); font-weight: 600;">channel-shaped</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(250, 60%, 55%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Tesco did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 55%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="map-pin" style="color: hsl(250, 60%, 55%);"></i></div><h4 class="nc-flip-card-back-title">What the pressure really was</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Formats were not the problem:</strong> Superstores, Express, online, rapid were already built.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Data was not the problem:</strong> 22M+ Clubcard households map most UK shopping behaviour.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>The mindset was wrong:</strong> Planning focused on touchpoints, not trip intent.</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(124, 58, 237, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(250, 60%, 55%);"></i></div></div>
</div>
</div>
</div>
</div>
<!-- Card 2: Reality check -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 96%); color: hsl(25, 95%, 50%); border: 1px solid hsl(25, 95%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(25, 95%, 50%);"></span>Reality check</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(25, 95%, 96%);"><i data-lucide="bar-chart-3" style="color: hsl(25, 95%, 50%);"></i></div><h3 class="nc-flip-card-title">The battlefield was top-ups and need-it-now</h3></div>
<p class="nc-flip-card-punchline">The highest-frequency trips were not big weekly baskets. They were convenience <span style="color: hsl(25, 95%, 50%); font-weight: 600;">top-ups</span> and urgent missions where loyalty is weakest and switching is easiest.</p>
<div class="nc-flip-card-cta" style="color: hsl(25, 95%, 50%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Tesco did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="trending-up" style="color: hsl(25, 95%, 50%);"></i></div><h4 class="nc-flip-card-back-title">What the data really showed</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Trip mix shift:</strong> 63% of grocery trips are top-ups, not stock-ups.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Loyalty fragile:</strong> Around 50% report weak loyalty in convenience.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Rapid expands visits:</strong> Rapid users increased total visits by around 11%.</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(245, 158, 11, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(25, 95%, 50%);"></i></div></div>
</div>
</div>
</div>
</div>
<!-- Card 3: Agentic spine -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 96%); color: hsl(200, 70%, 50%); border: 1px solid hsl(200, 70%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(200, 70%, 50%);"></span>Agentic spine</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(200, 70%, 96%);"><i data-lucide="git-merge" style="color: hsl(200, 70%, 50%);"></i></div><h3 class="nc-flip-card-title">Missions became the system, channels became tools</h3></div>
<p class="nc-flip-card-punchline">Tesco moved from channel plans to <span style="color: hsl(200, 70%, 50%); font-weight: 600;">mission playbooks</span>. It tuned assortment, pricing, and offers to trip intent, then executed via the best channel.</p>
<div class="nc-flip-card-cta" style="color: hsl(200, 70%, 50%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Tesco did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="target" style="color: hsl(200, 70%, 50%);"></i></div><h4 class="nc-flip-card-back-title">How Tesco shifted the playbook</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Organise by mission:</strong> Big shop, urban top-up, need-it-now, plus life stage.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Tune the engine:</strong> Different baskets and sensitivities per mission.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Execute by format:</strong> Express and rapid for top-ups, superstore and online for big shops.</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(56, 189, 248, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(200, 70%, 50%);"></i></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="nc-section-takeaway">
<div class="nc-container">
<p class="nc-section-takeaway-text nc-fade-in">In 2026, the serious question is not "How are our shopping touchpoints/channels performing?" – it is<span class="nc-highlight">"What are our top missions, and how differently are we designing journeys and economics for each one?"</span></p>
</div>
</div>
</section>
<!-- Learning 6 Section -->
<section class="nc-learning-section nc-gray-bg" id="nc-learning-6">
<div class="nc-learning-hero">
<div class="nc-container">
<div class="nc-learning-hero-inner">
<div class="nc-learning-hero-left">
<span class="nc-section-number nc-text-netcore-number nc-fade-in">06</span>
<h2 class="nc-section-title nc-text-gradient nc-fade-in">When always-on journeys quietly out-earned the campaign calendar</h2>
</div>
<div class="nc-learning-hero-image nc-fade-in">
<img src="https://netcorecloud.com/wp-content/uploads/2026/02/learning6-hero.jpg" alt="AI robot managing always-on customer journeys and calendar scheduling">
</div>
</div>
</div>
</div>
<div class="nc-key-takeaway" style="background: var(--nc-bg-gray);">
<div class="nc-container">
<div class="nc-key-takeaway-card nc-white nc-fade-in">
<div class="nc-key-takeaway-border"></div>
<div class="nc-key-takeaway-inner" style="display: flex; align-items: flex-start; gap: 2.5rem;">
<div style="flex: 1;">
<span class="nc-pill nc-pill-primary"><span class="nc-pill-dot"></span>Key takeaway · Learning 06</span>
<p class="nc-key-takeaway-text">Campaigns are the loud part of ecommerce. The profit is often in the quiet moments between them.</p>
<p class="nc-key-takeaway-subtext"><strong>Case in point:</strong> Fabindia proved that an AI-driven customer OS can turn live intent into triggered journeys that outperform the next big push.</p>
</div>
<div style="flex-shrink: 0; width: 10rem; height: 10rem; opacity: 0.3; display: none;" class="nc-key-takeaway-svg-wrap">
<svg viewBox="0 0 160 160" width="100%" height="100%">
<path d="M20 80 Q40 60, 60 80 T100 80 T140 80" fill="none" stroke="#FC5E02" stroke-width="2" stroke-linecap="round" />
<circle cx="40" cy="70" r="6" fill="none" stroke="#FC5E02" stroke-width="1.5" />
<circle cx="80" cy="80" r="6" fill="none" stroke="#FC5E02" stroke-width="1.5" />
<circle cx="120" cy="70" r="6" fill="none" stroke="#FC5E02" stroke-width="1.5" />
<circle cx="40" cy="70" r="2" fill="#FC5E02" opacity="0.5" />
<circle cx="80" cy="80" r="2" fill="#FC5E02" opacity="0.5" />
<circle cx="120" cy="70" r="2" fill="#FC5E02" opacity="0.5" />
<line x1="40" y1="76" x2="40" y2="100" stroke="#FC5E02" stroke-width="1" opacity="0.3" />
<line x1="80" y1="86" x2="80" y2="100" stroke="#FC5E02" stroke-width="1" opacity="0.3" />
<line x1="120" y1="76" x2="120" y2="100" stroke="#FC5E02" stroke-width="1" opacity="0.3" />
<rect x="32" y="102" width="16" height="10" rx="2" fill="none" stroke="#FC5E02" stroke-width="1" opacity="0.4" />
<rect x="72" y="102" width="16" height="10" rx="2" fill="none" stroke="#FC5E02" stroke-width="1" opacity="0.4" />
<rect x="112" y="102" width="16" height="10" rx="2" fill="none" stroke="#FC5E02" stroke-width="1" opacity="0.4" />
</svg>
</div>
</div>
</div>
</div>
</div>
<!-- Flip Cards - Fabindia -->
<div class="nc-flip-cards-section" style="background: var(--nc-bg-gray);">
<div class="nc-container">
<div class="nc-flip-cards-label nc-fade-in">
<span class="nc-flip-cards-label-dot"></span>
<span class="nc-flip-cards-label-text">Inside the numbers · Fabindia</span>
</div>
<div class="nc-flip-cards-grid">
<!-- Card 1: Friction -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 96%); color: hsl(250, 60%, 55%); border: 1px solid hsl(250, 60%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(250, 60%, 55%);"></span>Friction</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(250, 60%, 96%);"><i data-lucide="alert-triangle" style="color: hsl(250, 60%, 55%);"></i></div><h3 class="nc-flip-card-title">Brand strong, journeys still dropped</h3></div>
<p class="nc-flip-card-punchline">Fabindia had demand and brand love, but most intent happened between campaigns where follow-up was missing and journeys <span style="color: hsl(250, 60%, 55%); font-weight: 600;">quietly died</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(250, 60%, 55%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Fabindia did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(250, 60%, 55%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(250, 60%, 55%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="calendar" style="color: hsl(250, 60%, 55%);"></i></div><h4 class="nc-flip-card-back-title">Where the friction really was</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Calendar-first engine:</strong> Peaks at festivals and launches, long unmanaged gaps after.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Broadcast habits:</strong> Email, WhatsApp, and push ran as blasts, not conversation.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Silent leakage:</strong> Browses, carts, and drop-offs rarely triggered timely follow-up.</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(124, 58, 237, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(250, 60%, 55%);"></i></div></div>
</div>
</div>
</div>
</div>
<!-- Card 2: Reality check -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 96%); color: hsl(25, 95%, 50%); border: 1px solid hsl(25, 95%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(25, 95%, 50%);"></span>Reality check</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(25, 95%, 96%);"><i data-lucide="bar-chart-3" style="color: hsl(25, 95%, 50%);"></i></div><h3 class="nc-flip-card-title">More campaigns did not fix the leak</h3></div>
<p class="nc-flip-card-punchline">Teams increased campaign velocity, but high-intent signals like price checks, abandons, and lapses stayed unanswered, so revenue <span style="color: hsl(25, 95%, 50%); font-weight: 600;">did not compound</span>.</p>
<div class="nc-flip-card-cta" style="color: hsl(25, 95%, 50%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Fabindia did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(25, 95%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(25, 95%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="trending-up" style="color: hsl(25, 95%, 50%);"></i></div><h4 class="nc-flip-card-back-title">What most brands kept doing</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Next-campaign reflex:</strong> Planning stayed calendar-led instead of signal-led.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>No nudge layer:</strong> Abandons and lapses did not trigger recovery journeys.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Anonymous ignored:</strong> High-intent visitors stayed invisible until they registered.</p></div>
<!-- <div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Exec takeaway:</strong> If no system owns in-between intent, growth stalls even with more pushes.</p></div> -->
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(245, 158, 11, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(25, 95%, 50%);"></i></div></div>
</div>
</div>
</div>
</div>
<!-- Card 3: Customer OS -->
<div class="nc-flip-card nc-fade-in">
<div class="nc-flip-card-inner">
<div class="nc-flip-card-front">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 96%); color: hsl(200, 70%, 50%); border: 1px solid hsl(200, 70%, 88%);"><span class="nc-flip-card-pill-dot" style="background: hsl(200, 70%, 50%);"></span>Customer OS</span>
<div class="nc-flip-card-header"><div class="nc-flip-card-icon" style="background: hsl(200, 70%, 96%);"><i data-lucide="cpu" style="color: hsl(200, 70%, 50%);"></i></div><h3 class="nc-flip-card-title">An agentic-led engagement strategy turning signals into revenue</h3></div>
<p class="nc-flip-card-punchline">Fabindia shifted from scheduled journeys to <span style="color: hsl(200, 70%, 50%); font-weight: 600;">triggered journeys</span>, using live behaviour to decide who to re-engage, when, and on which channel.</p>
<div class="nc-flip-card-cta" style="color: hsl(200, 70%, 50%);"><span style="font-size: 0.75rem; font-weight: 500;">See what Fabindia did</span><i data-lucide="chevron-right"></i></div>
</div>
</div>
<div class="nc-flip-card-back">
<div class="nc-flip-card-accent" style="background: hsl(200, 70%, 50%);"></div>
<div class="nc-flip-card-content">
<span class="nc-flip-card-pill" style="background: hsl(200, 70%, 50%); color: white;">IMPACT</span>
<div class="nc-flip-card-back-header"><div class="nc-flip-card-back-icon"><i data-lucide="target" style="color: hsl(200, 70%, 50%);"></i></div><h4 class="nc-flip-card-back-title">From campaign bursts to behaviour-led growth</h4></div>
<div class="nc-flip-card-facts">
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Live segments:</strong> Browse, cart, drop-off, return signals update instantly.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Always-on journeys:</strong> Event-triggered flows across WhatsApp, email, and push.</p></div>
<div class="nc-flip-card-fact"><div class="nc-flip-card-fact-icon"><i data-lucide="chevron-right"></i></div><p class="nc-flip-card-fact-text"><strong>Impact:</strong> 2x growth in digital revenue. 9X ROI</p></div>
</div>
<div class="nc-flip-card-corner"><span class="nc-flip-card-corner-text nc-flip-card-corner-text-mobile">Tap to flip back</span><span class="nc-flip-card-corner-text nc-flip-card-corner-text-desktop">Move away to flip</span><div class="nc-flip-card-corner-icon" style="background: rgba(56, 189, 248, 0.2);"><i data-lucide="rotate-ccw" style="width: 10px; height: 10px; color: hsl(200, 70%, 50%);"></i></div></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="nc-section-takeaway" style="background: var(--nc-bg-gray);">
<div class="nc-container">
<p class="nc-section-takeaway-text nc-fade-in">Calendars tell you when you plan to speak. <span class="nc-highlight">An always-on customer OS shows you whether you're listening – and how much revenue that difference is worth.</span></p>
</div>
</div>
</section>
<!-- Workshop CTA Section -->
<section class="nc-workshop-cta" id="nc-workshop-cta">
<div class="nc-workshop-cta-glow-1"></div>
<div class="nc-workshop-cta-glow-2"></div>
<div class="nc-workshop-cta-grid"></div>
<div class="nc-container nc-workshop-cta-inner">
<div class="nc-workshop-cta-badge nc-fade-in">
<div class="nc-workshop-cta-badge-inner">
<i data-lucide="sparkles" class="nc-workshop-cta-badge-icon"></i>
<span class="nc-workshop-cta-badge-text">Executive Workshop</span>
</div>
</div>
<h2 class="nc-workshop-cta-headline nc-fade-in">
Turn these learnings into<br>
<span>your 2026 operating system</span>
</h2>
<p class="nc-workshop-cta-subhead nc-fade-in">
Work with our team to map agentic journeys, governance, and measurement to your P&L.
A focused working session for ecommerce and retail leaders.
</p>
<div class="nc-workshop-cta-cols">
<div class="nc-workshop-cta-outcomes nc-fade-in">
<h3>What you'll walk away with</h3>
<ul>
<li>
<div class="nc-workshop-cta-check"><i data-lucide="check"></i></div>
<span>Map your highest-impact agentic use cases across discovery, conversion, and retention</span>
</li>
<li>
<div class="nc-workshop-cta-check"><i data-lucide="check"></i></div>
<span>Define governed agent architecture tailored to your data and CX guardrails</span>
</li>
<li>
<div class="nc-workshop-cta-check"><i data-lucide="check"></i></div>
<span>Align measurement to outcomes: conversion, AOV, margin, and cost-to-serve</span>
</li>
<li>
<div class="nc-workshop-cta-check"><i data-lucide="check"></i></div>
<span>Leave with a practical 30-60-90 day execution plan</span>
</li>
</ul>
<div class="nc-workshop-cta-trust">
<p>No sales pitch. Just a focused working session built on the insights from this report.</p>
</div>
</div>
<div class="nc-workshop-form-card nc-fade-in" id="nc-workshop-form-container">
<div class="nc-workshop-form-accent"></div>
<div id="nc-workshop-form">
<h3>Book your workshop</h3>
<p>Share your details and we'll reach out to schedule a tailored session.</p>
<form id="demo-form" action="https://go.netcorecloud.com/l/864782/2026-02-09/cbcfwm" method="post" >
<div class="nc-workshop-form-group">
<label for="nc-workshop-name">Full name</label>
<input type="text" id="nc-workshop-name" name="864782_296120pi_864782_296120" placeholder="Your full name" required>
</div>
<div class="nc-workshop-form-group">
<label for="nc-workshop-email">Business email</label>
<input type="email" id="nc-workshop-email" name="864782_292827pi_864782_292827" required>
</div>
<div class="nc-workshop-form-group">
<label for="nc-workshop-phone">Phone number</label>
<div style="display: flex; gap: 0.5rem;">
<select id="nc-workshop-country" name="864782_296126pi_864782_296126" style="width: 110px; flex-shrink: 0; padding: 0.875rem 0.5rem; border-radius: 0.75rem; border: 1px solid var(--nc-border-light); background: #F9FAFB; font-family: inherit; font-size: 0.875rem; color: var(--nc-text-primary); appearance: none; cursor: pointer; outline: none;">
<option value="2542172">🇮🇳 +91</option>
<option value="2542175">🇺🇸 +1</option>
<option value="2542178">🇬🇧 +44</option>
<option value="2542181">🇦🇪 +971</option>
<option value="2542184">🇸🇬 +65</option>
<option value="2542187">🇦🇺 +61</option>
<option value="2542190">🇩🇪 +49</option>
<option value="2542193">🇫🇷 +33</option>
</select>
<input type="tel" id="nc-workshop-phone" name="864782_296123pi_864782_296123" placeholder="9876543210" required style="flex: 1;">
</div>
</div>
<input type="hidden" id="Recent_Asset_Page_URL" name="864782_292854pi_864782_292854" value="" >
<input type="hidden" id="utm_campaign" name="864782_292857pi_864782_292857" value="" >
<input type="hidden" id="utm_content" name="864782_292860pi_864782_292860" value="" >
<input type="hidden" id="utm_medium" name="864782_292863pi_864782_292863" value="" >
<input type="hidden" id="utm_source" name="864782_292866pi_864782_292866" value="" >
<input type="hidden" id="utm_term" name="864782_292869pi_864782_292869" value="" >
<input type="hidden" id="GCLID" name="864782_292872pi_864782_292872" value="" >
<button type="submit" class="nc-workshop-form-submit">
<i data-lucide="calendar"></i>
Book Workshop
<i data-lucide="arrow-right"></i>
</button>
</form>
<p class="nc-workshop-form-note">We'll respond within 24 hours with available times.</p>
</div>
<div id="nc-workshop-success" class="nc-workshop-form-success" style="display: none;">
<div class="nc-workshop-form-success-icon">
<i data-lucide="check"></i>
</div>
<h3>You're in</h3>
<p>Look out for an email from our team to schedule your workshop.</p>
</div>
</div>
</div>
</div>
</section>
<!-- JavaScript -->
<script>
// Namespaced functions to avoid conflicts
(function() {
'use strict';
// Initialize Lucide icons with explicit sizing attributes
lucide.createIcons({
attrs: {
'stroke-width': '2',
'xmlns': 'http://www.w3.org/2000/svg',
'fill': 'none',
'stroke': 'currentColor',
'stroke-linecap': 'round',
'stroke-linejoin': 'round',
}
});
// After icons are created, ensure all SVGs in icon containers inherit size via CSS
// (handled by CSS rules targeting both i and svg selectors)
// ============================================
// INTERSECTION OBSERVER FOR SCROLL ANIMATIONS
// ============================================
const fadeObserver = new IntersectionObserver((entries) => {
entries.forEach((entry, index) => {
if (entry.isIntersecting) {
// Add staggered delay based on element's position in DOM
const delay = Array.from(document.querySelectorAll('.nc-fade-in')).indexOf(entry.target) % 10;
setTimeout(() => {
entry.target.classList.add('nc-visible');
}, delay * 50);
fadeObserver.unobserve(entry.target); // Only animate once
}
});
}, {
threshold: 0.1,
rootMargin: '-50px 0px'
});
// Observe all fade-in elements
document.querySelectorAll('.nc-fade-in').forEach(el => {
fadeObserver.observe(el);
});
// ============================================
// HERO HEADLINE SCROLL EFFECT (matches preview)
// ============================================
const heroTitle = document.querySelector('.nc-hero-title');
const prefersReducedMotion =
window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
function ncClamp01(v) {
return Math.max(0, Math.min(1, v));
}
function updateHeroHeadline() {
if (!heroTitle || prefersReducedMotion) return;
// React preview:
// y: 0→120 over 0→400px scroll
// opacity: 1→0 over 0→300px scroll
// blur: 0→10px over 0→300px scroll
const y = ncClamp01(window.scrollY / 400) * 120;
const t = ncClamp01(window.scrollY / 300);
const opacity = 1 - t;
const blur = t * 10;
heroTitle.style.transform = `translate3d(0, ${y.toFixed(2)}px, 0)`;
heroTitle.style.opacity = opacity.toFixed(3);
heroTitle.style.filter = `blur(${blur.toFixed(2)}px)`;
}
// ============================================
// PROGRESS BAR LOGIC
// ============================================
function updateProgressBar() {
const progressBar = document.getElementById('nc-progress-bar');
const stickyHeader = document.getElementById('nc-sticky-header');
const learningsSection = document.getElementById('nc-learnings-section');
const workshopSection = document.getElementById('nc-workshop-cta');
if (!learningsSection) return;
const learningSectionRect = learningsSection.getBoundingClientRect();
const workshopRect = workshopSection ? workshopSection.getBoundingClientRect() : null;
// Show progress bar after passing learnings index
const isPastIndex = learningSectionRect.bottom <= 0;
const isBeforeFooter = workshopRect ? workshopRect.top > 100 : true;
if (isPastIndex && isBeforeFooter) {
progressBar.classList.add('nc-visible');
stickyHeader.classList.add('nc-visible');
} else {
progressBar.classList.remove('nc-visible');
if (learningSectionRect.top > 100) {
stickyHeader.classList.remove('nc-visible');
}
}
// Update individual segment progress
const segments = document.querySelectorAll('.nc-progress-segment');
segments.forEach((segment, index) => {
const sectionId = segment.dataset.section;
const section = document.getElementById(sectionId);
if (!section) return;
const rect = section.getBoundingClientRect();
const viewportHeight = window.innerHeight;
const fill = segment.querySelector('.nc-progress-fill');
if (rect.bottom <= 0) {
fill.style.width = '100%';
segment.classList.add('nc-complete');
segment.classList.remove('nc-active');
} else if (rect.top >= viewportHeight) {
fill.style.width = '0%';
segment.classList.remove('nc-complete', 'nc-active');
} else {
const visibleTop = Math.max(0, -rect.top);
const progress = Math.min(100, Math.max(0, (visibleTop / rect.height) * 100));
fill.style.width = progress + '%';
segment.classList.add('nc-active');
segment.classList.remove('nc-complete');
}
});
}
// ============================================
// SMOOTH SCROLL TO SECTION
// ============================================
document.querySelectorAll('.nc-progress-segment').forEach(segment => {
segment.addEventListener('click', () => {
const sectionId = segment.dataset.section;
const section = document.getElementById(sectionId);
if (section) {
section.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
});
});
// ============================================
// FLIP CARD MOBILE TAP HANDLER
// Only enable click/tap flip on mobile
// ============================================
function isMobile() {
return window.innerWidth < 768;
}
document.querySelectorAll('.nc-flip-card').forEach(card => {
card.addEventListener('click', () => {
// Only toggle flip on mobile - desktop uses hover
if (isMobile()) {
card.classList.toggle('nc-flipped');
}
});
});
// Reset flipped state when resizing to desktop
window.addEventListener('resize', () => {
if (!isMobile()) {
document.querySelectorAll('.nc-flip-card.nc-flipped').forEach(card => {
card.classList.remove('nc-flipped');
});
}
});
// ============================================
// EVENT LISTENERS
// ============================================
let ncScrollTicking = false;
function ncOnScroll() {
if (ncScrollTicking) return;
ncScrollTicking = true;
requestAnimationFrame(() => {
updateHeroHeadline();
updateProgressBar();
ncScrollTicking = false;
});
}
window.addEventListener('scroll', ncOnScroll, { passive: true });
window.addEventListener('load', () => {
updateHeroHeadline();
updateProgressBar();
});
// Initial call
updateHeroHeadline();
updateProgressBar();
})();
</script>
<script>
function populateTrackingFields() {
const params = new URLSearchParams(window.location.search);
const gclid = params.get("gclid") || "";
const gclidField = document.getElementById("GCLID");
if (gclidField) gclidField.value = gclid;
const utmFields = {
utm_source: params.get("utm_source") || "",
utm_medium: params.get("utm_medium") || "",
utm_campaign: params.get("utm_campaign") || "",
utm_term: params.get("utm_term") || "",
utm_content: params.get("utm_content") || ""
};
for (const [key, value] of Object.entries(utmFields)) {
const field = document.getElementById(key);
if (field) field.value = value;
}
const pageUrlField = document.getElementById("Recent_Asset_Page_URL");
if (pageUrlField) pageUrlField.value = window.location.href;
}
window.onload = populateTrackingFields;
</script>
<script>
document.addEventListener("DOMContentLoaded", function() {
const form = document.getElementById("demo-form");
const emailInput = document.getElementById("nc-workshop-email");
let isSubmitting = false;
const businessEmailPattern = /^(?!.+@(gmail|yahoo|outlook|hotmail|msn)\..+)(.+@.+\..+)$/i;
async function validateWithZeroBounce(email) {
try {
const response = await fetch(
`https://api.zerobounce.net/v2/validate?api_key=b14fe9c19325425289073fa446ce05ba&email=${encodeURIComponent(email)}`
);
const data = await response.json();
return (data.status === "valid" || data.status === "catch-all");
} catch {
return null;
}
}
const feedback = document.createElement("small");
feedback.style.display = "none";
feedback.style.fontSize = "12px";
feedback.style.marginTop = "4px";
feedback.style.color = "red";
emailInput.insertAdjacentElement("afterend", feedback);
function showFeedback(msg) {
feedback.textContent = msg;
feedback.style.display = "block";
}
function clearFeedback() {
feedback.textContent = "";
feedback.style.display = "none";
}
emailInput.addEventListener("blur", async function() {
const email = emailInput.value.trim();
if (!email) {
clearFeedback();
return;
}
if (!businessEmailPattern.test(email)) {
showFeedback("Please provide a business email address");
return;
}
const valid = await validateWithZeroBounce(email);
if (valid === true) {
clearFeedback();
emailInput.setCustomValidity("");
} else if (valid === false) {
showFeedback("Please provide a business email address");
emailInput.setCustomValidity("");
} else {
showFeedback("Could not validate email right now.");
emailInput.setCustomValidity("");
}
});
form.addEventListener("submit", async function(e) {
e.preventDefault();
if (isSubmitting) return;
isSubmitting = true;
const email = emailInput.value.trim();
if (!email) {
emailInput.setCustomValidity("Please provide a business email address");
emailInput.reportValidity();
isSubmitting = false;
return;
}
if (!businessEmailPattern.test(email)) {
emailInput.setCustomValidity("Please provide a business email address");
emailInput.reportValidity();
isSubmitting = false;
return;
}
const valid = await validateWithZeroBounce(email);
if (valid === true) {
emailInput.setCustomValidity("");
clearFeedback();
form.submit();
} else if (valid === false) {
emailInput.setCustomValidity("Please provide a business email address");
emailInput.reportValidity();
} else {
emailInput.setCustomValidity("Unable to validate email. Please try again later.");
emailInput.reportValidity();
}
isSubmitting = false;
});
});
</script>
</body>
<script src="https://cdn.jsdelivr.net/jquery.slick/1.5.9/slick.min.js"></script>