|
1 | 1 | interface HowItWorksProps { |
2 | 2 | heading: string; |
3 | | - steps: Array<{ |
4 | | - title: string; |
5 | | - description: string; |
6 | | - }>; |
| 3 | + steps: Array<{ title: string; description: string }>; |
7 | 4 | } |
8 | 5 |
|
9 | 6 | export function HowItWorks({ heading, steps }: HowItWorksProps) { |
10 | 7 | return ( |
11 | | - <section className="relative bg-[#0A1628] py-24 overflow-hidden"> |
| 8 | + <section className="relative bg-[#0A1628] py-32 md:py-40 overflow-hidden"> |
12 | 9 | <div className="gradient-mesh opacity-30"> |
13 | 10 | <div className="orb-1" /> |
14 | 11 | <div className="orb-2" /> |
15 | 12 | </div> |
16 | | - |
17 | | - <div className="relative z-10 mx-auto max-w-4xl px-6"> |
18 | | - <h2 className="text-center text-3xl font-bold text-white sm:text-4xl mb-16"> |
| 13 | + <div className="relative z-10 mx-auto max-w-5xl px-6"> |
| 14 | + <h2 className="text-center text-4xl font-bold tracking-[-0.04em] text-white sm:text-5xl lg:text-6xl mb-20"> |
19 | 15 | {heading} |
20 | 16 | </h2> |
21 | 17 | <div className="relative"> |
22 | | - <div className="absolute left-8 top-0 bottom-0 w-px hidden md:block overflow-hidden"> |
23 | | - <div className="w-full bg-gradient-to-b from-primary via-secondary to-primary animate-line-grow" /> |
| 18 | + {/* Horizontal connecting line */} |
| 19 | + <div className="absolute top-10 left-[10%] right-[10%] h-px hidden sm:block overflow-hidden"> |
| 20 | + <div className="w-full h-full bg-gradient-to-r from-primary via-secondary to-primary animate-line-grow" style={{ animationDuration: '1.5s' }} /> |
24 | 21 | </div> |
25 | | - |
26 | | - <div className="space-y-12"> |
| 22 | + <div className="grid gap-16 sm:grid-cols-3 sm:gap-8"> |
27 | 23 | {steps.map((step, i) => ( |
28 | | - <div |
29 | | - key={`${step.title}-${step.description}`} |
30 | | - className="flex gap-6 items-start" |
31 | | - > |
32 | | - <div className="relative flex h-16 w-16 shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-primary to-secondary text-white text-xl font-bold shadow-lg shadow-primary/20"> |
| 24 | + <div key={step.title} className="flex flex-col items-center text-center"> |
| 25 | + <div className="relative flex h-20 w-20 shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-primary to-secondary text-white text-2xl font-bold shadow-[0_0_40px_rgba(99,102,241,0.3),0_0_80px_rgba(99,102,241,0.15)] mb-8"> |
33 | 26 | {i + 1} |
34 | 27 | </div> |
35 | | - <div className="pt-2"> |
36 | | - <h3 className="text-xl font-semibold text-white mb-2"> |
37 | | - {step.title} |
38 | | - </h3> |
39 | | - <p className="text-slate-400 leading-relaxed"> |
40 | | - {step.description} |
41 | | - </p> |
42 | | - </div> |
| 28 | + <h3 className="text-xl font-semibold text-white mb-3">{step.title}</h3> |
| 29 | + <p className="text-slate-400 leading-relaxed">{step.description}</p> |
43 | 30 | </div> |
44 | 31 | ))} |
45 | 32 | </div> |
|
0 commit comments