Remove em-dashes and fix spacing on the homepage
This commit is contained in:
@@ -503,7 +503,7 @@ export default function IndexPage() {
|
|||||||
<span className="hero-gradient-text">Loyal Customer</span>
|
<span className="hero-gradient-text">Loyal Customer</span>
|
||||||
</h1>
|
</h1>
|
||||||
<p className="text-[#4f463a] hero-description text-sm sm:text-base md:text-lg xl:text-xl mb-8 leading-relaxed max-w-2xl select-none">
|
<p className="text-[#4f463a] hero-description text-sm sm:text-base md:text-lg xl:text-xl mb-8 leading-relaxed max-w-2xl select-none">
|
||||||
Loyaly.ai turns everyday digital engagement into real world shopping rewards — customers earn coins through games and daily activities, then redeem them at offline stores near them.
|
Loyaly.ai turns everyday digital engagement into real world shopping rewards. Customers earn coins through games and daily activities, then redeem them at offline stores near them.
|
||||||
</p>
|
</p>
|
||||||
<div className="flex flex-wrap gap-5">
|
<div className="flex flex-wrap gap-5">
|
||||||
<Link href="/contacts" className="flex items-center gap-3 bg-[#f4be28] hover:bg-[#ffd95a] hero-btn-primary text-[#171512] px-8 py-4 rounded-xl font-bold text-base md:text-lg transition-all duration-300 shadow-lg shadow-yellow-500/30 hover:shadow-yellow-500/50 hover:scale-[1.02] cursor-pointer no-underline">
|
<Link href="/contacts" className="flex items-center gap-3 bg-[#f4be28] hover:bg-[#ffd95a] hero-btn-primary text-[#171512] px-8 py-4 rounded-xl font-bold text-base md:text-lg transition-all duration-300 shadow-lg shadow-yellow-500/30 hover:shadow-yellow-500/50 hover:scale-[1.02] cursor-pointer no-underline">
|
||||||
|
|||||||
@@ -266,7 +266,7 @@ export default function ProblemsShift({ isLoaded = true }: ProblemsShiftProps) {
|
|||||||
Retail is busy.<br /><span style={{ color: '#f4be28' }}>But blind.</span>
|
Retail is busy.<br /><span style={{ color: '#f4be28' }}>But blind.</span>
|
||||||
</h2>
|
</h2>
|
||||||
<p className="ps-subtitle" style={{ color: '#4f463a', fontSize: 'clamp(1rem, 1.3vw, 1.2rem)', fontWeight: 500, maxWidth: 620, margin: '0 auto', lineHeight: 1.7, fontFamily: 'Sora, sans-serif' }}>
|
<p className="ps-subtitle" style={{ color: '#4f463a', fontSize: 'clamp(1rem, 1.3vw, 1.2rem)', fontWeight: 500, maxWidth: 620, margin: '0 auto', lineHeight: 1.7, fontFamily: 'Sora, sans-serif' }}>
|
||||||
Customers have no compelling reason to choose your store over the next one. Loyaly creates that reason — with daily rewards, interactive games, and surprise coupons redeemable in person.
|
Customers have no compelling reason to choose your store over the next one. Loyaly creates that reason, with daily rewards, interactive games, and surprise coupons redeemable in person.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -295,7 +295,7 @@ export default function ProblemsShift({ isLoaded = true }: ProblemsShiftProps) {
|
|||||||
<CompareCard
|
<CompareCard
|
||||||
variant="shift"
|
variant="shift"
|
||||||
badge="The Shift"
|
badge="The Shift"
|
||||||
desc="Loyaly bridges digital engagement and offline shopping — customers earn coins and coupons through fun activities, then walk into nearby stores to redeem them in person."
|
desc="Loyaly bridges digital engagement and offline shopping. Customers earn coins and coupons through fun activities, then walk into nearby stores to redeem them in person."
|
||||||
items={SHIFT_ITEMS}
|
items={SHIFT_ITEMS}
|
||||||
image="/Problems+shift/Shift.png"
|
image="/Problems+shift/Shift.png"
|
||||||
imageAlt="In-store intelligence shift"
|
imageAlt="In-store intelligence shift"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ const PRODUCTS: Product[] = [
|
|||||||
title: 'Behavision',
|
title: 'Behavision',
|
||||||
subtitle: 'AI Powered Footfall Analytics',
|
subtitle: 'AI Powered Footfall Analytics',
|
||||||
description:
|
description:
|
||||||
'AI powered footfall analytics and behavioral intelligence. Understand how customers move, dwell, and engage — turning raw foot traffic into rich, actionable insights.',
|
'AI powered footfall analytics and behavioral intelligence. Understand how customers move, dwell, and engage, turning raw foot traffic into rich, actionable insights.',
|
||||||
accent: '#f4be28',
|
accent: '#f4be28',
|
||||||
accentRgb: '244, 190, 40',
|
accentRgb: '244, 190, 40',
|
||||||
tags: ['Footfall Tracking', 'Heatmaps', 'Behavior Analysis'],
|
tags: ['Footfall Tracking', 'Heatmaps', 'Behavior Analysis'],
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ interface Step {
|
|||||||
|
|
||||||
const STEPS: Step[] = [
|
const STEPS: Step[] = [
|
||||||
{ step: '01', id: 'earn', title: 'Earn Online', desc: 'Daily login, 5,000-step walking challenges, and interactive games like Maze and Spin Wheel earn Loyaly Coins and unlock surprise coupons.' },
|
{ step: '01', id: 'earn', title: 'Earn Online', desc: 'Daily login, 5,000-step walking challenges, and interactive games like Maze and Spin Wheel earn Loyaly Coins and unlock surprise coupons.' },
|
||||||
{ step: '02', id: 'engage', title: 'Unlock Deals', desc: 'Merchants create game-based discount campaigns — customers play once to reveal their exclusive reward on a specific product.' },
|
{ step: '02', id: 'engage', title: 'Unlock Deals', desc: 'Merchants create game based discount campaigns: customers play once to reveal their exclusive reward on a specific product.' },
|
||||||
{ step: '03', id: 'spend', title: 'Discover & Visit', desc: 'Browse participating stores nearby, view active game campaigns and coin-earning offers, then walk in and shop in person.' },
|
{ step: '03', id: 'spend', title: 'Discover & Visit', desc: 'Browse participating stores nearby, view active game campaigns and coin-earning offers, then walk in and shop in person.' },
|
||||||
{ step: '04', id: 'repeat', title: 'Redeem & Repeat', desc: 'Use Loyaly Coins and coupons at checkout to save money — then come back tomorrow to earn more and keep the loop going.' },
|
{ step: '04', id: 'repeat', title: 'Redeem & Repeat', desc: 'Use Loyaly Coins and coupons at checkout to save money, then come back tomorrow to earn more and keep the loop going.' },
|
||||||
];
|
];
|
||||||
|
|
||||||
const IMPACTS = [
|
const IMPACTS = [
|
||||||
@@ -173,7 +173,7 @@ export default function TheLoop() {
|
|||||||
color: 'rgba(255,255,255,0.42)', lineHeight: 1.8,
|
color: 'rgba(255,255,255,0.42)', lineHeight: 1.8,
|
||||||
fontFamily: 'Sora, sans-serif',
|
fontFamily: 'Sora, sans-serif',
|
||||||
}}>
|
}}>
|
||||||
Earn coins online, unlock game-based deals, discover nearby stores, and redeem offline — a self-reinforcing loop that keeps customers engaged and drives repeat footfall.
|
Earn coins online, unlock game based deals, discover nearby stores, and redeem offline: a self reinforcing loop that keeps customers engaged and drives repeat footfall.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user