1+ .hero-stats-container {
2+ width : 90% ;
3+ padding : 4rem 2rem ;
4+ /* background: linear-gradient(135deg, #1a1a1a 0%, transparent); */
5+ position : relative;
6+ overflow : hidden;
7+ }
8+
9+ .hero-stats-container ::before {
10+ content : '' ;
11+ position : absolute;
12+ top : 0 ;
13+ left : 0 ;
14+ right : 0 ;
15+ bottom : 0 ;
16+ background : url ('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="0.5"/></pattern></defs><rect width="100" height="100" fill="url(%23grid)"/></svg>' );
17+ opacity : 0.3 ;
18+ pointer-events : none;
19+ }
20+
21+ .stats-grid {
22+ max-width : 1200px ;
23+ margin : 0 auto;
24+ display : grid;
25+ grid-template-columns : repeat (auto-fit, minmax (250px , 1fr ));
26+ gap : 2rem ;
27+ position : relative;
28+ z-index : 1 ;
29+ }
30+
31+ .stat-card {
32+ background : rgba (255 , 255 , 255 , 0.1 );
33+ backdrop-filter : blur (10px );
34+ border : 1px solid rgba (255 , 255 , 255 , 0.2 );
35+ border-radius : 16px ;
36+ padding : 2rem 1.5rem ;
37+ text-align : center;
38+ transition : all 0.3s ease;
39+ position : relative;
40+ overflow : hidden;
41+ }
42+
43+ .stat-card ::before {
44+ content : '' ;
45+ position : absolute;
46+ top : 0 ;
47+ left : -100% ;
48+ width : 100% ;
49+ height : 100% ;
50+ background : linear-gradient (90deg , transparent, rgba (255 , 255 , 255 , 0.1 ), transparent);
51+ transition : left 0.6s ease;
52+ }
53+
54+ .stat-card : hover {
55+ transform : translateY (-8px );
56+ box-shadow : 0 20px 40px rgba (0 , 0 , 0 , 0.3 );
57+ border-color : var (--primary-color );
58+ }
59+
60+ .stat-card : hover ::before {
61+ left : 100% ;
62+ }
63+
64+ .stat-icon {
65+ width : 60px ;
66+ height : 60px ;
67+ margin : 0 auto 1rem ;
68+ padding : 12px ;
69+ background : linear-gradient (135deg , var (--primary-color ), var (--primary-color ));
70+ border-radius : 50% ;
71+ display : flex;
72+ align-items : center;
73+ justify-content : center;
74+ transition : all 0.3s ease;
75+ }
76+
77+ .stat-card : hover .stat-icon {
78+ transform : scale (1.1 ) rotate (5deg );
79+ background : linear-gradient (135deg , var (--primary-color ), var (--primary-color ));
80+ }
81+
82+ .icon {
83+ width : 100% ;
84+ height : 100% ;
85+ color : white;
86+ }
87+
88+ .stat-number {
89+ font-size : 3rem ;
90+ font-weight : 900 ;
91+ color : # ffffff ;
92+ margin-bottom : 0.5rem ;
93+ background : linear-gradient (135deg , var (--primary-color ), # ffffff );
94+ -webkit-background-clip : text;
95+ -webkit-text-fill-color : transparent;
96+ background-clip : text;
97+ /* text-shadow: 0 2px 10px var(--primary-color); */
98+ transition : all 0.3s ease;
99+ }
100+
101+ .stat-card : hover .stat-number {
102+ transform : scale (1.05 );
103+ text-shadow : 0 4px 20px rgba (107 , 142 , 255 , 0.5 );
104+ }
105+
106+ .stat-label {
107+ font-size : 1rem ;
108+ color : rgba (255 , 255 , 255 , 0.9 );
109+ font-weight : 500 ;
110+ line-height : 1.4 ;
111+ text-transform : uppercase;
112+ letter-spacing : 0.5px ;
113+ transition : color 0.3s ease;
114+ }
115+
116+ .stat-card : hover .stat-label {
117+ color : # ffffff ;
118+ }
119+
120+ /* Responsive Design */
121+ @media (max-width : 768px ) {
122+ .hero-stats-container {
123+ padding : 3rem 1rem ;
124+ }
125+
126+ .stats-grid {
127+ grid-template-columns : repeat (auto-fit, minmax (200px , 1fr ));
128+ gap : 1.5rem ;
129+ }
130+
131+ .stat-card {
132+ padding : 1.5rem 1rem ;
133+ }
134+
135+ .stat-number {
136+ font-size : 2.5rem ;
137+ }
138+
139+ .stat-label {
140+ font-size : 0.9rem ;
141+ }
142+
143+ .stat-icon {
144+ width : 50px ;
145+ height : 50px ;
146+ padding : 10px ;
147+ }
148+ }
149+
150+ @media (max-width : 480px ) {
151+ .hero-stats-container {
152+ padding : 2rem 1rem ;
153+ }
154+
155+ .stats-grid {
156+ grid-template-columns : 1fr ;
157+ gap : 1rem ;
158+ }
159+
160+ .stat-number {
161+ font-size : 2rem ;
162+ }
163+
164+ .stat-label {
165+ font-size : 0.8rem ;
166+ }
167+ }
168+
169+ /* Animation for stats appearing */
170+ .stat-card {
171+ opacity : 0 ;
172+ transform : translateY (30px );
173+ animation : fadeInUp 0.6s ease forwards;
174+ }
175+
176+ .stat-card : nth-child (1 ) { animation-delay : 0.1s ; }
177+ .stat-card : nth-child (2 ) { animation-delay : 0.2s ; }
178+ .stat-card : nth-child (3 ) { animation-delay : 0.3s ; }
179+ .stat-card : nth-child (4 ) { animation-delay : 0.4s ; }
180+
181+ @keyframes fadeInUp {
182+ to {
183+ opacity : 1 ;
184+ transform : translateY (0 );
185+ }
186+ }
0 commit comments