varunsardesai commited on
Commit
bcfc32d
Β·
verified Β·
1 Parent(s): 34defb6

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +417 -892
index.html CHANGED
@@ -3,7 +3,7 @@
3
  <head>
4
  <meta charset="UTF-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>SumUp Bookings β€” Book a Demo</title>
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
  <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;900&family=Inter:wght@400;500;600&display=swap" rel="stylesheet" />
@@ -11,16 +11,16 @@
11
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
12
 
13
  :root {
14
- --black: #1E1C1C;
15
- --fuchsia: #FF61F2;
16
- --fuchsia2: #cc3fbf;
17
- --golden: #F9C300;
18
- --white: #FFFFFF;
19
- --grey1: #F0F1E7;
20
- --grey: #6B7280;
21
- --lightgrey: #E5E7EB;
22
- --darkgrey: #374151;
23
- --radius: 16px;
24
  }
25
 
26
  html { scroll-behavior: smooth; }
@@ -37,7 +37,7 @@
37
  position: sticky;
38
  top: 0;
39
  z-index: 100;
40
- background: rgba(255, 255, 255, 0.97);
41
  backdrop-filter: blur(10px);
42
  display: flex;
43
  align-items: center;
@@ -46,15 +46,6 @@
46
  height: 64px;
47
  border-bottom: 1px solid var(--lightgrey);
48
  }
49
-
50
- .nav-logo {
51
- font-family: 'Montserrat', sans-serif;
52
- font-weight: 900;
53
- font-size: 1.4rem;
54
- color: var(--black);
55
- letter-spacing: -0.5px;
56
- }
57
-
58
  .nav-cta {
59
  background: var(--fuchsia);
60
  color: var(--white);
@@ -65,6 +56,7 @@
65
  border-radius: 8px;
66
  text-decoration: none;
67
  transition: background 0.2s;
 
68
  }
69
  .nav-cta:hover { background: var(--fuchsia2); }
70
 
@@ -72,19 +64,18 @@
72
  .hero {
73
  background: var(--black);
74
  color: var(--white);
75
- padding: 100px 5% 90px;
76
  display: grid;
77
  grid-template-columns: 1fr 1fr;
78
  gap: 60px;
79
  align-items: center;
80
- min-height: 88vh;
81
  }
82
-
83
  .hero-eyebrow {
84
  display: inline-block;
85
- background: rgba(255, 97, 242, 0.15);
86
  color: var(--fuchsia);
87
- font-size: 0.78rem;
88
  font-weight: 600;
89
  letter-spacing: 1.5px;
90
  text-transform: uppercase;
@@ -92,36 +83,22 @@
92
  border-radius: 100px;
93
  margin-bottom: 24px;
94
  }
95
-
96
  .hero h1 {
97
  font-family: 'Montserrat', sans-serif;
98
  font-weight: 900;
99
- font-size: clamp(2.4rem, 4vw, 3.6rem);
100
- line-height: 1.1;
101
- letter-spacing: -1px;
102
- margin-bottom: 24px;
103
- }
104
-
105
- .hero h1 em {
106
- font-style: normal;
107
- color: var(--fuchsia);
108
  }
109
-
110
  .hero-sub {
111
- font-size: 1.1rem;
112
- color: rgba(255,255,255,0.7);
113
  line-height: 1.7;
114
- margin-bottom: 40px;
115
- max-width: 500px;
116
- }
117
-
118
- .hero-actions {
119
- display: flex;
120
- gap: 16px;
121
- flex-wrap: wrap;
122
- align-items: center;
123
  }
124
-
125
  .btn-primary {
126
  background: var(--fuchsia);
127
  color: var(--white);
@@ -136,460 +113,279 @@
136
  }
137
  .btn-primary:hover { background: var(--fuchsia2); transform: translateY(-1px); }
138
 
139
- .btn-ghost {
140
- color: rgba(255,255,255,0.8);
141
- font-size: 0.95rem;
142
- font-weight: 500;
143
- text-decoration: none;
144
- display: flex;
145
- align-items: center;
146
- gap: 8px;
147
- transition: color 0.2s;
148
- }
149
- .btn-ghost:hover { color: var(--white); }
150
- .btn-ghost svg { transition: transform 0.2s; }
151
- .btn-ghost:hover svg { transform: translateX(4px); }
152
-
153
- /* Hero visual */
154
- .hero-visual { position: relative; }
155
-
156
- .hero-mockup {
157
- background: rgba(255,255,255,0.06);
158
- border: 1px solid rgba(255,255,255,0.12);
159
  border-radius: 20px;
160
- padding: 28px;
161
- position: relative;
162
- }
163
-
164
- .mockup-header {
165
- display: flex;
166
- align-items: center;
167
- gap: 10px;
168
- margin-bottom: 20px;
169
- }
170
- .mockup-dot { width: 10px; height: 10px; border-radius: 50%; }
171
- .mockup-dot:nth-child(1) { background: #FF5F57; }
172
- .mockup-dot:nth-child(2) { background: #FFBD2E; }
173
- .mockup-dot:nth-child(3) { background: #28C840; }
174
-
175
- .mockup-cal {
176
- background: rgba(255,255,255,0.04);
177
- border-radius: 12px;
178
- padding: 20px;
179
- }
180
- .mockup-month {
181
- font-family: 'Montserrat', sans-serif;
182
- font-weight: 700;
183
- font-size: 0.85rem;
184
- color: rgba(255,255,255,0.6);
185
- text-align: center;
186
- margin-bottom: 16px;
187
- letter-spacing: 1px;
188
- text-transform: uppercase;
189
- }
190
- .mockup-grid {
191
- display: grid;
192
- grid-template-columns: repeat(7, 1fr);
193
- gap: 6px;
194
- text-align: center;
195
- }
196
- .mockup-day-label {
197
- font-size: 0.65rem;
198
- color: rgba(255,255,255,0.35);
199
- font-weight: 600;
200
- text-transform: uppercase;
201
- padding-bottom: 6px;
202
- }
203
- .mockup-day {
204
- font-size: 0.75rem;
205
- color: rgba(255,255,255,0.5);
206
- padding: 6px 2px;
207
- border-radius: 6px;
208
- }
209
- .mockup-day.available { color: rgba(255,255,255,0.85); background: rgba(255,255,255,0.07); }
210
- .mockup-day.selected { background: var(--fuchsia); color: var(--white); font-weight: 700; }
211
- .mockup-day.empty { visibility: hidden; }
212
-
213
- .mockup-slot { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; }
214
- .mockup-slot-item {
215
- background: rgba(255, 97, 242, 0.12);
216
- border: 1px solid rgba(255, 97, 242, 0.3);
217
- border-radius: 8px;
218
- padding: 10px 14px;
219
- font-size: 0.8rem;
220
- color: var(--fuchsia);
221
- font-weight: 500;
222
- display: flex;
223
- justify-content: space-between;
224
- align-items: center;
225
- }
226
- .mockup-slot-item.dim {
227
- background: rgba(255,255,255,0.04);
228
- border-color: rgba(255,255,255,0.08);
229
- color: rgba(255,255,255,0.35);
230
  }
231
-
232
- .hero-badge {
233
- position: absolute;
234
- bottom: -20px;
235
- left: -20px;
236
- background: var(--white);
237
- border-radius: 12px;
238
- padding: 14px 18px;
239
- display: flex;
240
- align-items: center;
241
- gap: 12px;
242
- box-shadow: 0 8px 32px rgba(0,0,0,0.3);
243
  }
244
- .badge-icon {
245
- width: 40px; height: 40px;
246
- background: rgba(255, 97, 242, 0.1);
247
- border-radius: 10px;
248
  display: flex;
249
  align-items: center;
250
  justify-content: center;
251
- font-size: 1.1rem;
 
 
252
  }
253
- .badge-text strong { display: block; font-size: 0.85rem; font-weight: 700; color: var(--black); }
254
- .badge-text span { font-size: 0.72rem; color: var(--grey); }
255
 
256
  /* ── TRUST BAR ── */
257
  .trust-bar {
258
  background: var(--white);
259
- padding: 28px 5%;
260
  display: flex;
261
  align-items: center;
262
  justify-content: center;
263
- gap: 48px;
264
  flex-wrap: wrap;
265
  border-bottom: 1px solid var(--lightgrey);
266
  }
267
  .trust-item {
268
  display: flex;
269
  align-items: center;
270
- gap: 10px;
271
  color: var(--grey);
272
- font-size: 0.85rem;
273
  font-weight: 500;
274
  }
275
  .trust-item svg { color: var(--fuchsia); flex-shrink: 0; }
 
 
 
 
 
 
276
 
277
- /* ── SECTION BASE ── */
278
- section { padding: 96px 5%; }
279
-
280
  .section-label {
281
- font-size: 0.75rem;
282
  font-weight: 600;
283
  letter-spacing: 2px;
284
  text-transform: uppercase;
285
  color: var(--fuchsia);
286
- margin-bottom: 16px;
287
  }
288
  .section-title {
289
  font-family: 'Montserrat', sans-serif;
290
  font-weight: 800;
291
- font-size: clamp(1.8rem, 3vw, 2.6rem);
292
- line-height: 1.15;
293
  letter-spacing: -0.5px;
294
  color: var(--black);
295
- margin-bottom: 16px;
296
  }
297
  .section-sub {
298
- font-size: 1.05rem;
299
  color: var(--grey);
300
  line-height: 1.7;
301
- max-width: 580px;
302
  }
 
 
303
 
304
- /* ── PRODUCT INTRO ── */
305
- .product-intro { background: var(--white); }
306
- .product-intro-inner {
307
- display: grid;
308
- grid-template-columns: 1fr 1fr;
309
- gap: 80px;
310
- align-items: center;
311
- max-width: 1200px;
312
- margin: 0 auto;
313
- }
314
 
315
- .product-stats {
316
- display: grid;
317
- grid-template-columns: 1fr 1fr;
318
- gap: 24px;
319
- margin-top: 40px;
320
- }
321
- .stat-card {
322
- background: var(--grey1);
323
- border-radius: 12px;
324
- padding: 20px;
325
- }
326
- .stat-number {
327
- font-family: 'Montserrat', sans-serif;
328
- font-weight: 900;
329
- font-size: 2rem;
330
- color: var(--fuchsia);
331
- line-height: 1;
332
- margin-bottom: 4px;
333
- }
334
- .stat-label { font-size: 0.8rem; color: var(--grey); line-height: 1.4; }
335
-
336
- /* ── FEATURES ── */
337
- .features { background: var(--grey1); }
338
- .features-header { text-align: center; margin-bottom: 60px; }
339
- .features-header .section-sub { margin: 0 auto; }
340
-
341
- .features-grid {
342
  display: grid;
343
  grid-template-columns: repeat(3, 1fr);
344
- gap: 28px;
345
- max-width: 1200px;
346
- margin: 0 auto;
347
  }
348
- .feature-card {
349
- background: var(--white);
350
  border-radius: var(--radius);
351
- padding: 32px 28px;
 
 
 
352
  transition: transform 0.2s, box-shadow 0.2s;
353
  }
354
- .feature-card:hover {
355
- transform: translateY(-4px);
356
- box-shadow: 0 16px 48px rgba(30,28,28,0.08);
357
  }
358
- .feature-icon {
359
- width: 52px; height: 52px;
360
- background: rgba(255, 97, 242, 0.08);
361
- border-radius: 14px;
362
- display: flex;
363
- align-items: center;
364
- justify-content: center;
365
- margin-bottom: 20px;
366
- font-size: 1.4rem;
367
  }
368
- .feature-card h3 {
369
  font-family: 'Montserrat', sans-serif;
370
  font-weight: 700;
371
- font-size: 1.05rem;
372
  color: var(--black);
373
- margin-bottom: 10px;
374
  }
375
- .feature-card p { font-size: 0.9rem; color: var(--grey); line-height: 1.65; }
376
-
377
- /* ── VIDEO SECTION ── */
378
- .video-section { background: var(--black); color: var(--white); text-align: center; }
379
- .video-section .section-title { color: var(--white); }
380
- .video-section .section-sub { color: rgba(255,255,255,0.6); margin: 0 auto 48px; }
381
-
382
- .video-placeholder {
383
- background: rgba(255,255,255,0.05);
384
- border: 2px dashed rgba(255,255,255,0.15);
385
- border-radius: 20px;
386
- aspect-ratio: 16/9;
387
- max-width: 900px;
388
- margin: 0 auto;
389
- display: flex;
390
- flex-direction: column;
391
- align-items: center;
392
- justify-content: center;
393
- gap: 16px;
394
- cursor: pointer;
395
- transition: background 0.2s;
396
  }
397
- .video-placeholder:hover { background: rgba(255,255,255,0.08); }
398
 
399
- .play-btn {
400
- width: 72px; height: 72px;
401
- background: var(--fuchsia);
402
- border-radius: 50%;
 
 
 
 
 
 
 
 
 
 
 
 
403
  display: flex;
404
  align-items: center;
405
  justify-content: center;
406
- transition: transform 0.2s;
 
407
  }
408
- .video-placeholder:hover .play-btn { transform: scale(1.1); }
409
- .video-caption { color: rgba(255,255,255,0.45); font-size: 0.85rem; }
410
 
411
- /* ── HOW IT WORKS ── */
412
- .how-it-works { background: var(--white); }
413
- .how-it-works-inner { max-width: 1200px; margin: 0 auto; }
 
414
 
415
- .steps {
416
  display: grid;
417
- grid-template-columns: repeat(4, 1fr);
418
- gap: 32px;
419
- margin-top: 60px;
420
- position: relative;
421
- }
422
- .steps::before {
423
- content: '';
424
- position: absolute;
425
- top: 28px;
426
- left: calc(12.5% + 14px);
427
- right: calc(12.5% + 14px);
428
- height: 2px;
429
- background: linear-gradient(90deg, var(--fuchsia) 0%, rgba(255,97,242,0.2) 100%);
430
  }
431
- .step { text-align: center; position: relative; }
432
-
433
- .step-num {
434
- width: 56px; height: 56px;
435
- border-radius: 50%;
436
- background: var(--fuchsia);
437
- color: var(--white);
438
- font-family: 'Montserrat', sans-serif;
439
- font-weight: 800;
440
- font-size: 1.1rem;
441
  display: flex;
442
- align-items: center;
443
- justify-content: center;
444
- margin: 0 auto 20px;
445
- position: relative;
446
- z-index: 1;
447
- box-shadow: 0 0 0 6px rgba(255, 97, 242, 0.12);
448
- }
449
- .step-num.dim {
450
- background: var(--lightgrey);
451
- color: var(--grey);
452
- box-shadow: 0 0 0 6px rgba(107,114,128,0.1);
453
- }
454
- .step h4 {
455
- font-family: 'Montserrat', sans-serif;
456
- font-weight: 700;
457
- font-size: 0.95rem;
458
- color: var(--black);
459
- margin-bottom: 8px;
460
  }
461
- .step p { font-size: 0.83rem; color: var(--grey); line-height: 1.6; }
462
-
463
- /* ── FAQ ── */
464
- .faq-section { background: var(--white); }
465
- .faq-inner { max-width: 800px; margin: 0 auto; }
466
- .faq-header { text-align: center; margin-bottom: 56px; }
467
- .faq-header .section-sub { margin: 0 auto; }
468
-
469
- .faq-list { display: flex; flex-direction: column; gap: 12px; }
470
-
471
- .faq-item {
472
- border: 1px solid var(--lightgrey);
473
- border-radius: 12px;
474
  overflow: hidden;
475
- transition: border-color 0.2s;
 
476
  }
477
- .faq-item.open { border-color: var(--fuchsia); }
478
-
479
- .faq-question {
480
- width: 100%;
481
- background: none;
482
- border: none;
483
- padding: 22px 24px;
484
- text-align: left;
485
- font-family: 'Inter', sans-serif;
486
- font-size: 1rem;
487
- font-weight: 600;
488
- color: var(--black);
489
- cursor: pointer;
490
  display: flex;
491
- justify-content: space-between;
492
  align-items: center;
493
- gap: 16px;
494
- transition: background 0.15s;
 
 
495
  }
496
- .faq-question:hover { background: var(--grey1); }
497
- .faq-item.open .faq-question { background: var(--grey1); }
498
-
499
- .faq-icon {
500
- flex-shrink: 0;
501
- width: 28px; height: 28px;
 
 
 
 
 
 
502
  border-radius: 50%;
503
- background: rgba(255, 97, 242, 0.1);
504
  display: flex;
505
  align-items: center;
506
  justify-content: center;
507
- transition: background 0.2s, transform 0.3s;
508
- color: var(--fuchsia);
 
 
509
  }
510
- .faq-item.open .faq-icon {
511
- background: var(--fuchsia);
 
 
 
 
512
  color: var(--white);
513
- transform: rotate(45deg);
 
 
 
 
 
 
 
514
  }
 
515
 
516
- .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease; }
517
- .faq-item.open .faq-answer { max-height: 600px; }
 
 
 
518
 
519
- .faq-answer-inner {
520
- padding: 0 24px 22px;
521
- font-size: 0.93rem;
522
- color: var(--grey);
523
- line-height: 1.75;
524
- }
525
- .faq-answer-inner ul {
526
- margin: 12px 0 0 0;
527
- padding-left: 20px;
528
  display: flex;
529
  flex-direction: column;
530
- gap: 6px;
531
- }
532
- .faq-answer-inner li { color: var(--grey); }
533
-
534
- /* ── TESTIMONIALS ── */
535
- .testimonials { background: var(--grey1); }
536
- .testimonials-header { margin-bottom: 56px; }
537
- .testimonials-grid {
538
- display: grid;
539
- grid-template-columns: repeat(3, 1fr);
540
- gap: 24px;
541
- max-width: 1200px;
542
- margin: 0 auto;
543
- }
544
- .testimonial-card { background: var(--white); border-radius: var(--radius); padding: 28px; }
545
- .stars { color: var(--golden); font-size: 0.9rem; margin-bottom: 16px; }
546
- .testimonial-card blockquote {
547
- font-size: 0.92rem;
548
- color: var(--darkgrey);
549
- line-height: 1.7;
550
- font-style: italic;
551
- margin-bottom: 20px;
552
  }
553
- .testimonial-author { display: flex; align-items: center; gap: 12px; }
554
- .avatar {
555
- width: 40px; height: 40px;
556
  border-radius: 50%;
557
- background: linear-gradient(135deg, var(--fuchsia) 0%, #cc3fbf 100%);
558
  display: flex;
559
  align-items: center;
560
  justify-content: center;
 
 
561
  color: var(--white);
 
 
 
 
562
  font-weight: 700;
 
 
 
 
563
  font-size: 0.85rem;
564
- flex-shrink: 0;
565
  }
566
- .author-info strong { display: block; font-size: 0.85rem; font-weight: 600; color: var(--black); }
567
- .author-info span { font-size: 0.75rem; color: var(--grey); }
568
-
569
- /* ── BOOKING SECTION ── */
570
- .booking-section { background: var(--black); color: var(--white); }
571
- .booking-inner { max-width: 900px; margin: 0 auto; text-align: center; }
572
- .booking-section .section-title { color: var(--white); margin-bottom: 12px; }
573
- .booking-section .section-sub { color: rgba(255,255,255,0.6); margin: 0 auto 48px; }
574
 
 
575
  .rep-selector {
576
  background: rgba(255,255,255,0.06);
577
  border: 1px solid rgba(255,255,255,0.12);
578
  border-radius: 20px;
579
  padding: 40px;
580
- margin-bottom: 32px;
581
  }
582
  .rep-selector-label {
583
- font-size: 0.8rem;
584
  font-weight: 600;
585
  letter-spacing: 1.5px;
586
  text-transform: uppercase;
587
- color: rgba(255,255,255,0.45);
588
  margin-bottom: 20px;
589
  }
590
  .rep-grid {
591
- display: grid;
592
- grid-template-columns: repeat(5, 1fr);
 
593
  gap: 12px;
594
  margin-bottom: 32px;
595
  }
@@ -597,16 +393,16 @@
597
  background: rgba(255,255,255,0.06);
598
  border: 1px solid rgba(255,255,255,0.1);
599
  border-radius: 10px;
600
- padding: 12px 8px;
601
  cursor: pointer;
602
  text-align: center;
603
  transition: all 0.2s;
604
  color: var(--white);
605
  font-family: 'Inter', sans-serif;
 
606
  }
607
  .rep-btn:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.25); }
608
- .rep-btn.active { background: rgba(255, 97, 242, 0.15); border-color: var(--fuchsia); }
609
-
610
  .rep-avatar {
611
  width: 44px; height: 44px;
612
  border-radius: 50%;
@@ -618,7 +414,7 @@
618
  font-size: 1rem;
619
  color: var(--white);
620
  }
621
- .rep-name { font-size: 0.72rem; font-weight: 500; line-height: 1.3; }
622
 
623
  .booking-cta-area {
624
  display: none;
@@ -628,14 +424,13 @@
628
  animation: fadeUp 0.3s ease;
629
  }
630
  .booking-cta-area.visible { display: flex; }
631
-
632
  @keyframes fadeUp {
633
- from { opacity: 0; transform: translateY(12px); }
634
  to { opacity: 1; transform: translateY(0); }
635
  }
636
-
637
- .rep-intro { font-size: 0.95rem; color: rgba(255,255,255,0.65); }
638
  .rep-intro strong { color: var(--white); }
 
639
 
640
  .book-btn {
641
  background: var(--fuchsia);
@@ -652,44 +447,33 @@
652
  transition: background 0.2s, transform 0.15s;
653
  }
654
  .book-btn:hover { background: var(--fuchsia2); transform: translateY(-2px); }
655
-
656
- .booking-note { font-size: 0.8rem; color: rgba(255,255,255,0.35); }
657
- .no-rep-hint { color: rgba(255,255,255,0.45); font-size: 0.9rem; }
658
 
659
  /* ── FOOTER ── */
660
  footer {
661
  background: #111111;
662
- color: rgba(255,255,255,0.4);
663
  text-align: center;
664
- padding: 36px 5%;
665
- font-size: 0.82rem;
666
  line-height: 1.8;
667
  }
668
- footer a { color: rgba(255,255,255,0.5); text-decoration: none; }
669
  footer a:hover { color: var(--white); }
670
 
671
  /* ── RESPONSIVE ── */
672
  @media (max-width: 900px) {
673
- .hero { grid-template-columns: 1fr; padding: 64px 5% 60px; min-height: auto; }
674
- .hero-visual { display: none; }
675
- .product-intro-inner { grid-template-columns: 1fr; gap: 40px; }
676
- .features-grid { grid-template-columns: 1fr 1fr; }
677
- .steps { grid-template-columns: 1fr 1fr; }
678
- .steps::before { display: none; }
679
- .testimonials-grid { grid-template-columns: 1fr; }
680
- .rep-grid { grid-template-columns: repeat(5, 1fr); }
681
  }
682
-
683
  @media (max-width: 600px) {
684
- .trust-bar { gap: 20px; }
685
- .features-grid { grid-template-columns: 1fr; }
686
- .steps { grid-template-columns: 1fr 1fr; gap: 24px; }
687
- .product-stats { grid-template-columns: 1fr 1fr; }
688
- .rep-grid { grid-template-columns: repeat(5, 1fr); gap: 8px; }
689
- .rep-btn { padding: 10px 4px; }
690
- .rep-avatar { width: 36px; height: 36px; font-size: 0.85rem; }
691
- .rep-name { font-size: 0.65rem; }
692
  .rep-selector { padding: 24px 16px; }
 
693
  }
694
  </style>
695
  </head>
@@ -700,94 +484,33 @@
700
  <div class="nav-logo">
701
  <img src="logo.png" alt="SumUp" height="32" style="display:block;" />
702
  </div>
703
- <a href="#book" class="nav-cta">Book a Demo β†’</a>
704
  </nav>
705
 
706
  <!-- ── HERO ── -->
707
  <section class="hero">
708
  <div class="hero-content">
709
- <span class="hero-eyebrow">✦ SumUp Bookings</span>
710
- <h1>Book clients.<br />Save time.<br /><em>Keep what you earn.</em></h1>
711
  <p class="hero-sub">
712
- SumUp Bookings is the online scheduling system designed for beauty and wellness professionals. No monthly fees. No commissions. No back and forth with clients.
713
  </p>
714
- <div class="hero-actions">
715
- <a href="#book" class="btn-primary">Book a free demo</a>
716
- <a href="#features" class="btn-ghost">
717
- See all features
718
- <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5">
719
- <path d="M5 12h14M12 5l7 7-7 7"/>
720
- </svg>
721
- </a>
722
- </div>
723
  </div>
724
-
725
- <div class="hero-visual">
726
- <div class="hero-mockup">
727
- <div class="mockup-header">
728
- <div class="mockup-dot"></div>
729
- <div class="mockup-dot"></div>
730
- <div class="mockup-dot"></div>
731
- </div>
732
- <div class="mockup-cal">
733
- <div class="mockup-month">June 2026</div>
734
- <div class="mockup-grid">
735
- <div class="mockup-day-label">M</div>
736
- <div class="mockup-day-label">T</div>
737
- <div class="mockup-day-label">W</div>
738
- <div class="mockup-day-label">T</div>
739
- <div class="mockup-day-label">F</div>
740
- <div class="mockup-day-label">S</div>
741
- <div class="mockup-day-label">S</div>
742
- <div class="mockup-day empty"></div>
743
- <div class="mockup-day empty"></div>
744
- <div class="mockup-day empty"></div>
745
- <div class="mockup-day empty"></div>
746
- <div class="mockup-day available">1</div>
747
- <div class="mockup-day available">2</div>
748
- <div class="mockup-day">3</div>
749
- <div class="mockup-day available">4</div>
750
- <div class="mockup-day available">5</div>
751
- <div class="mockup-day available">6</div>
752
- <div class="mockup-day available">7</div>
753
- <div class="mockup-day available">8</div>
754
- <div class="mockup-day">9</div>
755
- <div class="mockup-day">10</div>
756
- <div class="mockup-day available">11</div>
757
- <div class="mockup-day available">12</div>
758
- <div class="mockup-day available">13</div>
759
- <div class="mockup-day available">14</div>
760
- <div class="mockup-day selected">15</div>
761
- <div class="mockup-day">16</div>
762
- <div class="mockup-day">17</div>
763
- <div class="mockup-day available">18</div>
764
- <div class="mockup-day available">19</div>
765
- <div class="mockup-day available">20</div>
766
- <div class="mockup-day available">21</div>
767
- </div>
768
- <div class="mockup-slot">
769
- <div class="mockup-slot-item">
770
- 10:00 AM β€” 30 min <span>βœ“ Available</span>
771
- </div>
772
- <div class="mockup-slot-item dim">11:30 AM β€” Booked</div>
773
- <div class="mockup-slot-item">
774
- 2:00 PM β€” 30 min <span>βœ“ Available</span>
775
- </div>
776
- </div>
777
- </div>
778
- </div>
779
- <div class="hero-badge">
780
- <div class="badge-icon">πŸ“…</div>
781
- <div class="badge-text">
782
- <strong>500K+ appointments booked</strong>
783
- <span>across Europe every month</span>
784
- </div>
785
- </div>
786
  </div>
787
  </section>
788
 
789
  <!-- ── TRUST BAR ── -->
790
  <div class="trust-bar">
 
 
 
 
791
  <div class="trust-item">
792
  <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
793
  No setup fees
@@ -796,366 +519,135 @@
796
  <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"/></svg>
797
  PCI-DSS compliant
798
  </div>
799
- <div class="trust-item">
800
- <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z"/></svg>
801
- Instant payouts
802
- </div>
803
- <div class="trust-item">
804
- <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M13 10V3L4 14h7v7l9-11h-7z"/></svg>
805
- Live in under 10 minutes
806
- </div>
807
  <div class="trust-item">
808
  <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M18.364 5.636l-3.536 3.536m0 5.656l3.536 3.536M9.172 9.172L5.636 5.636m3.536 9.192l-3.536 3.536M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-5 0a4 4 0 11-8 0 4 4 0 018 0z"/></svg>
809
- 24/7 support
810
  </div>
811
  </div>
812
 
813
- <!-- ── PRODUCT INTRO ── -->
814
- <section class="product-intro">
815
- <div class="product-intro-inner">
816
- <img src="image1.png" alt="SumUp Bookings" style="width:100%; border-radius:16px; display:block;" />
817
- <div>
818
- <div class="section-label">What is SumUp Bookings?</div>
819
- <h2 class="section-title">The free, all‑in‑one booking system for your beauty business.</h2>
820
- <p class="section-sub">
821
- Simplify your schedule and save time for what you love. Get set up in minutes with a booking page that works as hard as you do. Always-on scheduling software means you'll never miss a new client.
822
- </p>
823
- <div class="product-stats">
824
- <div class="stat-card">
825
- <div class="stat-number">3M+</div>
826
- <div class="stat-label">Businesses using SumUp worldwide</div>
827
- </div>
828
- <div class="stat-card">
829
- <div class="stat-number">40%</div>
830
- <div class="stat-label">Average reduction in no-shows with reminders</div>
831
- </div>
832
- <div class="stat-card">
833
- <div class="stat-number">Β£0</div>
834
- <div class="stat-label">Monthly fee on the free plan</div>
835
- </div>
836
- <div class="stat-card">
837
- <div class="stat-number">&lt;10m</div>
838
- <div class="stat-label">Average time to go live with your booking page</div>
839
- </div>
840
- </div>
841
  </div>
842
- </div>
843
- </section>
844
 
845
- <!-- ── FEATURES ── -->
846
- <section class="features" id="features">
847
- <div class="features-header">
848
- <div class="section-label">Features</div>
849
- <h2 class="section-title">Better for your business.<br/>Better for your clients.</h2>
850
- <p class="section-sub">Free to use. No monthly fees or contracts. Everything you need to run a seamless booking experience from first click to payment.</p>
851
- </div>
852
- <div class="features-grid">
853
- <div class="feature-card">
854
- <div class="feature-icon">πŸ’°</div>
855
- <h3>Save money, skip the no-shows</h3>
856
- <p>Clients pay a deposit or the full amount when they book β€” so if they don't show up, you won't be out of pocket. Create a cancellation policy with fees to protect your time.</p>
857
- </div>
858
- <div class="feature-card">
859
- <div class="feature-icon">πŸ””</div>
860
- <h3>Automated reminders</h3>
861
- <p>Reduce no-shows with automated email and SMS reminders. Easily manage appointments and let missed bookings become a thing of the past.</p>
862
- </div>
863
- <div class="feature-card">
864
- <div class="feature-icon">🌐</div>
865
- <h3>Get new clients around the clock</h3>
866
- <p>Your booking page is live 24/7. Share it on Instagram, add it to your Google profile or WhatsApp bio and let clients book, reschedule or cancel themselves. No calls to miss. No DMs to chase.</p>
867
- </div>
868
- <div class="feature-card">
869
- <div class="feature-icon">πŸ—“οΈ</div>
870
- <h3>Sync with Google Calendar</h3>
871
- <p>Connect your booking page to Google Calendar so you never double-book. Your availability updates automatically as new appointments come in.</p>
872
- </div>
873
- <div class="feature-card">
874
- <div class="feature-icon">πŸ’³</div>
875
- <h3>Get paid when they book</h3>
876
- <p>Take payments the moment a client books via card, Apple Pay, Google Pay or PayPal. No chasing cash or bank transfers β€” just money in your account.</p>
877
- </div>
878
- <div class="feature-card">
879
- <div class="feature-icon">🎨</div>
880
- <h3>Customise your booking page</h3>
881
- <p>Brand your booking page with your logo and colours. Add a clear service menu with prices and durations. Give clients a professional experience before they even walk in.</p>
882
- </div>
883
- <div class="feature-card">
884
- <div class="feature-icon">πŸ‘₯</div>
885
- <h3>Manage your team</h3>
886
- <p>Multiple calendars with one view helps you avoid empty chairs and double bookings. Perfect for hair salons, barbershops and wellness studios managing a team.</p>
887
- </div>
888
- <div class="feature-card">
889
- <div class="feature-icon">πŸ“±</div>
890
- <h3>Manage everything in the SumUp app</h3>
891
- <p>Oversee appointments, handle payments and manage your calendar and staff all in one place. Available on iOS and Android from the App Store or Google Play.</p>
892
- </div>
893
- <div class="feature-card">
894
- <div class="feature-icon">πŸ“‹</div>
895
- <h3>Client database with history</h3>
896
- <p>Keep notes and a full appointment history for every client. Build stronger relationships and deliver a personalised experience every time they visit.</p>
897
- </div>
898
- </div>
899
- </section>
900
-
901
- <!-- ── VIDEO ── -->
902
- <section class="video-section">
903
- <div class="section-label">See it in action</div>
904
- <h2 class="section-title">Watch how it works</h2>
905
- <p class="section-sub">See how businesses like yours use SumUp Bookings to save time and grow revenue β€” in under 2 minutes.</p>
906
- <div class="video-placeholder">
907
- <div class="play-btn">
908
- <svg width="26" height="26" fill="white" viewBox="0 0 24 24"><path d="M8 5v14l11-7z"/></svg>
909
- </div>
910
- <div class="video-caption">Product walkthrough video Β· ~2 min Β· [Replace with video embed]</div>
911
- </div>
912
- </section>
913
-
914
- <!-- ── HOW IT WORKS ── -->
915
- <section class="how-it-works">
916
- <div class="how-it-works-inner">
917
- <div style="text-align:center; margin-bottom: 0;">
918
- <div class="section-label">How it works</div>
919
- <h2 class="section-title">Up and running in minutes</h2>
920
- </div>
921
- <div class="steps">
922
- <div class="step">
923
- <div class="step-num">1</div>
924
- <h4>Create your account</h4>
925
- <p>Sign up free. Add your business details, services, and team members.</p>
926
- </div>
927
- <div class="step">
928
- <div class="step-num">2</div>
929
- <h4>Set your availability</h4>
930
- <p>Define your working hours, service duration, and buffer times between appointments.</p>
931
- </div>
932
- <div class="step">
933
- <div class="step-num">3</div>
934
- <h4>Share your booking link</h4>
935
- <p>Share a personalised link or embed the booking widget directly on your website.</p>
936
- </div>
937
- <div class="step">
938
- <div class="step-num">4</div>
939
- <h4>Get booked & paid</h4>
940
- <p>Customers book 24/7. Payments and reminders are handled automatically.</p>
941
  </div>
942
- </div>
943
- </div>
944
- </section>
945
 
946
- <!-- ── TESTIMONIALS ── -->
947
- <section class="testimonials">
948
- <div class="testimonials-header">
949
- <div class="section-label">What customers say</div>
950
- <h2 class="section-title">Businesses love SumUp Bookings</h2>
951
- </div>
952
- <div class="testimonials-grid">
953
- <div class="testimonial-card">
954
- <div class="stars">β˜…β˜…β˜…β˜…β˜…</div>
955
- <blockquote>"Managing a team means juggling different schedules. SumUp gives me multiple calendars in one view β€” no more empty chairs or double bookings."</blockquote>
956
- <div class="testimonial-author">
957
- <div class="avatar">JM</div>
958
- <div class="author-info">
959
- <strong>Jade M.</strong>
960
- <span>Hair Salon Owner, Manchester</span>
961
- </div>
962
- </div>
963
- </div>
964
- <div class="testimonial-card">
965
- <div class="stars">β˜…β˜…β˜…β˜…β˜…</div>
966
- <blockquote>"My booking page is live 24/7. Clients book on Instagram, reschedule themselves, and I get paid upfront. No calls to miss. No DMs to chase."</blockquote>
967
- <div class="testimonial-author">
968
- <div class="avatar">TL</div>
969
- <div class="author-info">
970
- <strong>Tanya L.</strong>
971
- <span>Lash Technician, Birmingham</span>
972
- </div>
973
- </div>
974
- </div>
975
- <div class="testimonial-card">
976
- <div class="stars">β˜…β˜…β˜…β˜…β˜…</div>
977
- <blockquote>"A branded, professional booking page sets the right tone before clients even walk in. SumUp gave my wellness studio exactly that β€” and it's free."</blockquote>
978
- <div class="testimonial-author">
979
- <div class="avatar">NP</div>
980
- <div class="author-info">
981
- <strong>Nina P.</strong>
982
- <span>Spa & Wellness Studio, London</span>
983
- </div>
984
  </div>
985
- </div>
986
- </div>
987
- </section>
988
 
989
- <!-- ── FOR BUSINESS / FOR CUSTOMERS ── -->
990
- <section style="background: var(--grey1); padding: 96px 5%;">
991
- <div style="max-width:1200px; margin:0 auto;">
992
- <div style="text-align:center; margin-bottom:56px;">
993
- <div class="section-label">Who it's built for</div>
994
- <h2 class="section-title">You're in control. They're impressed.</h2>
995
- </div>
996
- <div style="display:grid; grid-template-columns:1fr 1fr; gap:32px;">
997
- <div style="background:var(--white); border-radius:var(--radius); padding:40px;">
998
- <div class="feature-icon" style="margin-bottom:20px;">πŸ§‘β€πŸ’Ό</div>
999
- <h3 style="font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.2rem; color:var(--black); margin-bottom:6px;">For your business</h3>
1000
- <p style="font-size:0.85rem; font-weight:600; color:var(--fuchsia); margin-bottom:24px;">You're in control</p>
1001
- <ul style="list-style:none; display:flex; flex-direction:column; gap:14px;">
1002
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:var(--darkgrey); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Free to use β€” no monthly fees or contracts</li>
1003
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:var(--darkgrey); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Customise your booking page to your brand</li>
1004
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:var(--darkgrey); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Collect payments, deposits or no-show fees at booking</li>
1005
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:var(--darkgrey); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Client database with notes and appointment history</li>
1006
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:var(--darkgrey); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Set up automated reminders</li>
1007
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:var(--darkgrey); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Connect to Google Calendar, Instagram & Facebook</li>
1008
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:var(--darkgrey); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Manage everything in the SumUp app</li>
1009
- </ul>
1010
  </div>
1011
- <div style="background:var(--black); border-radius:var(--radius); padding:40px;">
1012
- <div class="feature-icon" style="margin-bottom:20px; background:rgba(255,255,255,0.1);">πŸ§‘β€πŸ€β€πŸ§‘</div>
1013
- <h3 style="font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.2rem; color:var(--white); margin-bottom:6px;">For your customers</h3>
1014
- <p style="font-size:0.85rem; font-weight:600; color:var(--fuchsia); margin-bottom:24px;">An experience they'll remember</p>
1015
- <ul style="list-style:none; display:flex; flex-direction:column; gap:14px;">
1016
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:rgba(255,255,255,0.75); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> A 24/7 online booking system. No calls, no waiting.</li>
1017
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:rgba(255,255,255,0.75); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Clear service menu with prices and durations</li>
1018
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:rgba(255,255,255,0.75); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Booking confirmation sent immediately</li>
1019
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:rgba(255,255,255,0.75); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Pay securely at the time of booking</li>
1020
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:rgba(255,255,255,0.75); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Automatic reminder before the appointment</li>
1021
- <li style="display:flex; gap:12px; align-items:flex-start; font-size:0.9rem; color:rgba(255,255,255,0.75); line-height:1.5;"><span style="color:var(--fuchsia); flex-shrink:0; font-weight:700;">βœ“</span> Easy self-service cancellation and rescheduling</li>
1022
- </ul>
1023
  </div>
1024
- </div>
1025
- </div>
1026
- </section>
1027
 
1028
- <!-- ── PRICING ── -->
1029
- <section style="background:var(--white); padding:80px 5%;">
1030
- <div style="max-width:800px; margin:0 auto; text-align:center;">
1031
- <div class="section-label">Pricing</div>
1032
- <h2 class="section-title">Start for free. Low fees. No commission.</h2>
1033
- <p class="section-sub" style="margin:0 auto 48px;">No monthly fees, contracts or surprises. Just a small transaction fee when customers send you money.</p>
1034
- <div style="display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:560px; margin:0 auto;">
1035
- <div style="background:var(--fuchsia); border-radius:var(--radius); padding:36px 24px; color:var(--white); text-align:center;">
1036
- <div style="font-family:'Montserrat',sans-serif; font-weight:900; font-size:3rem; line-height:1;">Β£0</div>
1037
- <div style="font-size:0.85rem; margin-top:8px; opacity:0.9;">Monthly fee</div>
1038
- <div style="font-size:0.75rem; margin-top:6px; opacity:0.8;">No contracts. No surprises.</div>
1039
  </div>
1040
- <div style="background:var(--black); border-radius:var(--radius); padding:36px 24px; color:var(--white); text-align:center;">
1041
- <div style="font-family:'Montserrat',sans-serif; font-weight:900; font-size:3rem; line-height:1; color:var(--golden);">2.5%</div>
1042
- <div style="font-size:0.85rem; margin-top:8px; opacity:0.9;">Transaction fee</div>
1043
- <div style="font-size:0.75rem; margin-top:6px; opacity:0.6;">Only when you get paid.</div>
 
1044
  </div>
 
1045
  </div>
1046
  </div>
1047
  </section>
1048
 
1049
- <!-- ── FAQ ── -->
1050
- <section class="faq-section">
1051
- <div class="faq-inner">
1052
- <div class="faq-header">
1053
- <div class="section-label">FAQs</div>
1054
- <h2 class="section-title">Common questions</h2>
1055
- <p class="section-sub">Everything you need to know about SumUp Bookings.</p>
1056
- </div>
1057
- <div class="faq-list">
1058
 
1059
- <div class="faq-item">
1060
- <button class="faq-question">
1061
- What is SumUp Bookings?
1062
- <span class="faq-icon">
1063
- <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path d="M12 5v14M5 12h14"/></svg>
1064
- </span>
1065
- </button>
1066
- <div class="faq-answer">
1067
- <div class="faq-answer-inner">
1068
- SumUp Bookings is an online booking system with scheduling software. It's designed for beauty professionals to make managing and organising appointments seamless and tackle common pain points like double bookings or costly no-shows, completely for free.
1069
- </div>
 
 
 
 
1070
  </div>
1071
- </div>
1072
-
1073
- <div class="faq-item">
1074
- <button class="faq-question">
1075
- What is an online booking system?
1076
- <span class="faq-icon">
1077
- <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path d="M12 5v14M5 12h14"/></svg>
1078
- </span>
1079
- </button>
1080
- <div class="faq-answer">
1081
- <div class="faq-answer-inner">
1082
- One of the main uses for an online booking system is to reserve appointments. With SumUp Bookings, your customers can visit your booking page, find the appointment they want and send a request right away. Once you're set up, SumUp Bookings scheduling software is available 24/7, so clients can book and manage their appointments even while you're not working β€” ensuring an always-full calendar.
1083
  </div>
1084
  </div>
1085
  </div>
1086
 
1087
- <div class="faq-item">
1088
- <button class="faq-question">
1089
- How do I get started?
1090
- <span class="faq-icon">
1091
- <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path d="M12 5v14M5 12h14"/></svg>
1092
- </span>
1093
- </button>
1094
- <div class="faq-answer">
1095
- <div class="faq-answer-inner">
1096
- Log in to Bookings using your SumUp profile and follow the easy setup guide. After adding your details you'll be ready to start accepting appointments and growing your business β€” usually in under 10 minutes.
1097
- </div>
1098
  </div>
1099
- </div>
1100
-
1101
- <div class="faq-item">
1102
- <button class="faq-question">
1103
- How do I get paid with Bookings?
1104
- <span class="faq-icon">
1105
- <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path d="M12 5v14M5 12h14"/></svg>
1106
- </span>
1107
- </button>
1108
- <div class="faq-answer">
1109
- <div class="faq-answer-inner">
1110
- With Bookings, you choose when your customers pay: at the time of booking or in-person. You can also set up deposits and cancellation fees to ensure your business is not out of pocket if a client cancels last minute. If you enable payment at booking, customers can pre-pay with a credit/debit card, Apple Pay, Google Pay or PayPal.
1111
  </div>
1112
  </div>
1113
  </div>
1114
 
1115
- <div class="faq-item">
1116
- <button class="faq-question">
1117
- How can customers make a booking?
1118
- <span class="faq-icon">
1119
- <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path d="M12 5v14M5 12h14"/></svg>
1120
- </span>
1121
- </button>
1122
- <div class="faq-answer">
1123
- <div class="faq-answer-inner">
1124
- Customers select appointments on your online booking page. After opening it, they can see all the services you offer. Then they simply:
1125
- <ul>
1126
- <li>Select a date and time</li>
1127
- <li>Add their personal details</li>
1128
- <li>Leave you an optional message</li>
1129
- </ul>
1130
- After requesting the appointment, you'll either manually or automatically accept it depending on your settings.
1131
- </div>
1132
  </div>
1133
- </div>
1134
-
1135
- <div class="faq-item">
1136
- <button class="faq-question">
1137
- Does SumUp Bookings have a mobile app?
1138
- <span class="faq-icon">
1139
- <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path d="M12 5v14M5 12h14"/></svg>
1140
- </span>
1141
- </button>
1142
- <div class="faq-answer">
1143
- <div class="faq-answer-inner">
1144
- You can access Bookings and all of its scheduling features in the SumUp Business app. All you need to do is download it from the App Store or Google Play. After logging in, you'll find Bookings in the Tools section of your profile. You can oversee appointments, handle payments and manage your calendar and staff all in one place.
1145
- </div>
1146
- </div>
1147
- </div>
1148
-
1149
- <div class="faq-item">
1150
- <button class="faq-question">
1151
- How much does SumUp Bookings cost?
1152
- <span class="faq-icon">
1153
- <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2.5"><path d="M12 5v14M5 12h14"/></svg>
1154
- </span>
1155
- </button>
1156
- <div class="faq-answer">
1157
- <div class="faq-answer-inner">
1158
- It's free to sign up and use SumUp Bookings. There are no setup fees or monthly subscription costs β€” just a small 2.5% transaction fee when customers send you money.
1159
  </div>
1160
  </div>
1161
  </div>
@@ -1164,95 +656,128 @@
1164
  </div>
1165
  </section>
1166
 
 
 
 
 
 
 
 
 
1167
  <!-- ── BOOK A DEMO ── -->
1168
  <section class="booking-section" id="book">
1169
  <div class="booking-inner">
1170
  <div class="section-label">Book a demo</div>
1171
- <h2 class="section-title">Ready to see it for yourself?</h2>
1172
  <p class="section-sub">
1173
- Pick your SumUp representative below and book a free 30-minute demo directly in their calendar. No pressure, no commitment.
1174
  </p>
1175
 
1176
- <div class="rep-selector">
1177
- <div class="rep-selector-label">Select your SumUp representative</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
1178
  <div class="rep-grid" id="repGrid">
1179
  <!-- Populated by JS -->
1180
  </div>
1181
  <div class="booking-cta-area" id="ctaArea">
1182
- <p class="rep-intro" id="repIntro">Book a call with <strong id="repNameDisplay"></strong></p>
1183
  <a href="#" class="book-btn" id="bookLink" target="_blank" rel="noopener">
1184
  <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
1185
  Book your free 30-min demo
1186
  </a>
1187
- <p class="booking-note">Opens Google Calendar Β· No sign-in required Β· Free cancellation anytime</p>
1188
  </div>
1189
- <div class="no-rep-hint" id="noRepHint">← Choose a representative to see their availability</div>
1190
  </div>
 
1191
  </div>
1192
  </section>
1193
 
1194
  <!-- ── FOOTER ── -->
1195
  <footer>
1196
  <p>Β© 2026 SumUp. All rights reserved. &nbsp;Β·&nbsp; <a href="#">Privacy Policy</a> &nbsp;Β·&nbsp; <a href="#">Terms of Service</a> &nbsp;Β·&nbsp; <a href="#">Help Centre</a></p>
1197
- <p style="margin-top:8px;">SumUp Financial Services Limited Β· Regulated by the FCA</p>
1198
  </footer>
1199
 
1200
  <script>
1201
- // ── FAQ ACCORDION ──
1202
- document.querySelectorAll('.faq-question').forEach(btn => {
1203
- btn.addEventListener('click', () => {
1204
- const item = btn.closest('.faq-item');
1205
- const isOpen = item.classList.contains('open');
1206
- document.querySelectorAll('.faq-item').forEach(i => i.classList.remove('open'));
1207
- if (!isOpen) item.classList.add('open');
1208
- });
1209
- });
1210
-
1211
- // ── SALES REPS DATA ──
1212
  const reps = [
1213
- { name: "Sahana", initials: "AM", color: "#FF61F2", link: "https://calendar.app.google/Ger8Z5Er4BqLXprx9" },
1214
- { name: "Caro", initials: "JL", color: "#F9C300", link: "https://calendar.app.google/cV8c2hZzMfsTuM86A" },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1215
  ];
1216
 
1217
- const grid = document.getElementById('repGrid');
1218
- const ctaArea = document.getElementById('ctaArea');
1219
- const noRepHint = document.getElementById('noRepHint');
1220
- const bookLink = document.getElementById('bookLink');
1221
- const repName = document.getElementById('repNameDisplay');
1222
-
1223
- let activeIdx = null;
1224
-
1225
- reps.forEach((rep, i) => {
1226
- const btn = document.createElement('button');
1227
- btn.className = 'rep-btn';
1228
- btn.dataset.idx = i;
1229
- btn.innerHTML = `
1230
- <div class="rep-avatar" style="background: linear-gradient(135deg, ${rep.color} 0%, ${rep.color}99 100%)">${rep.initials}</div>
1231
- <div class="rep-name">${rep.name}</div>
1232
- `;
1233
- btn.addEventListener('click', () => selectRep(i, btn));
1234
- grid.appendChild(btn);
1235
- });
1236
-
1237
- function selectRep(idx, btn) {
1238
- grid.querySelectorAll('.rep-btn').forEach(b => b.classList.remove('active'));
1239
- btn.classList.add('active');
1240
- activeIdx = idx;
1241
- const rep = reps[idx];
1242
- repName.textContent = rep.name;
1243
- bookLink.href = rep.link;
1244
- ctaArea.classList.add('visible');
1245
- noRepHint.style.display = 'none';
1246
- }
1247
-
1248
- const params = new URLSearchParams(window.location.search);
1249
- const repParam = params.get('rep');
1250
- if (repParam !== null) {
1251
- const idx = parseInt(repParam, 10);
1252
- if (!isNaN(idx) && idx >= 0 && idx < reps.length) {
1253
- const btn = grid.querySelectorAll('.rep-btn')[idx];
1254
- if (btn) selectRep(idx, btn);
1255
- }
 
 
 
 
 
 
1256
  }
1257
  </script>
1258
  </body>
 
3
  <head>
4
  <meta charset="UTF-8" />
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>SumUp β€” Run Your Beauty Business Beautifully</title>
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
  <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;900&family=Inter:wght@400;500;600&display=swap" rel="stylesheet" />
 
11
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
12
 
13
  :root {
14
+ --black: #1E1C1C;
15
+ --fuchsia: #FF61F2;
16
+ --fuchsia2: #cc3fbf;
17
+ --golden: #F9C300;
18
+ --white: #FFFFFF;
19
+ --grey1: #F0F1E7;
20
+ --grey: #6B7280;
21
+ --lightgrey: #E5E7EB;
22
+ --darkgrey: #374151;
23
+ --radius: 16px;
24
  }
25
 
26
  html { scroll-behavior: smooth; }
 
37
  position: sticky;
38
  top: 0;
39
  z-index: 100;
40
+ background: rgba(255,255,255,0.97);
41
  backdrop-filter: blur(10px);
42
  display: flex;
43
  align-items: center;
 
46
  height: 64px;
47
  border-bottom: 1px solid var(--lightgrey);
48
  }
 
 
 
 
 
 
 
 
 
49
  .nav-cta {
50
  background: var(--fuchsia);
51
  color: var(--white);
 
56
  border-radius: 8px;
57
  text-decoration: none;
58
  transition: background 0.2s;
59
+ white-space: nowrap;
60
  }
61
  .nav-cta:hover { background: var(--fuchsia2); }
62
 
 
64
  .hero {
65
  background: var(--black);
66
  color: var(--white);
67
+ padding: 80px 5%;
68
  display: grid;
69
  grid-template-columns: 1fr 1fr;
70
  gap: 60px;
71
  align-items: center;
72
+ min-height: 80vh;
73
  }
 
74
  .hero-eyebrow {
75
  display: inline-block;
76
+ background: rgba(255,97,242,0.15);
77
  color: var(--fuchsia);
78
+ font-size: 0.75rem;
79
  font-weight: 600;
80
  letter-spacing: 1.5px;
81
  text-transform: uppercase;
 
83
  border-radius: 100px;
84
  margin-bottom: 24px;
85
  }
 
86
  .hero h1 {
87
  font-family: 'Montserrat', sans-serif;
88
  font-weight: 900;
89
+ font-size: clamp(2.4rem, 4vw, 3.8rem);
90
+ line-height: 1.08;
91
+ letter-spacing: -1.5px;
92
+ margin-bottom: 20px;
 
 
 
 
 
93
  }
94
+ .hero h1 em { font-style: normal; color: var(--fuchsia); }
95
  .hero-sub {
96
+ font-size: 1.05rem;
97
+ color: rgba(255,255,255,0.65);
98
  line-height: 1.7;
99
+ margin-bottom: 36px;
100
+ max-width: 480px;
 
 
 
 
 
 
 
101
  }
 
102
  .btn-primary {
103
  background: var(--fuchsia);
104
  color: var(--white);
 
113
  }
114
  .btn-primary:hover { background: var(--fuchsia2); transform: translateY(-1px); }
115
 
116
+ /* Hero image */
117
+ .hero-image {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
118
  border-radius: 20px;
119
+ overflow: hidden;
120
+ aspect-ratio: 4/3;
121
+ background: rgba(255,255,255,0.06);
122
+ border: 1px solid rgba(255,255,255,0.1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  }
124
+ .hero-image img {
125
+ width: 100%;
126
+ height: 100%;
127
+ object-fit: cover;
128
+ display: block;
 
 
 
 
 
 
 
129
  }
130
+ /* placeholder shown when image2 not yet uploaded */
131
+ .img-placeholder {
132
+ width: 100%; height: 100%;
 
133
  display: flex;
134
  align-items: center;
135
  justify-content: center;
136
+ color: rgba(255,255,255,0.2);
137
+ font-size: 0.85rem;
138
+ font-weight: 500;
139
  }
 
 
140
 
141
  /* ── TRUST BAR ── */
142
  .trust-bar {
143
  background: var(--white);
144
+ padding: 22px 5%;
145
  display: flex;
146
  align-items: center;
147
  justify-content: center;
148
+ gap: 40px;
149
  flex-wrap: wrap;
150
  border-bottom: 1px solid var(--lightgrey);
151
  }
152
  .trust-item {
153
  display: flex;
154
  align-items: center;
155
+ gap: 9px;
156
  color: var(--grey);
157
+ font-size: 0.83rem;
158
  font-weight: 500;
159
  }
160
  .trust-item svg { color: var(--fuchsia); flex-shrink: 0; }
161
+ .trust-item.featured {
162
+ font-weight: 700;
163
+ color: var(--black);
164
+ font-size: 0.88rem;
165
+ }
166
+ .trust-item.featured svg { color: var(--golden); }
167
 
168
+ /* ── SHARED SECTION ── */
169
+ section { padding: 80px 5%; }
 
170
  .section-label {
171
+ font-size: 0.72rem;
172
  font-weight: 600;
173
  letter-spacing: 2px;
174
  text-transform: uppercase;
175
  color: var(--fuchsia);
176
+ margin-bottom: 14px;
177
  }
178
  .section-title {
179
  font-family: 'Montserrat', sans-serif;
180
  font-weight: 800;
181
+ font-size: clamp(1.8rem, 3vw, 2.5rem);
182
+ line-height: 1.12;
183
  letter-spacing: -0.5px;
184
  color: var(--black);
185
+ margin-bottom: 14px;
186
  }
187
  .section-sub {
188
+ font-size: 1rem;
189
  color: var(--grey);
190
  line-height: 1.7;
191
+ max-width: 560px;
192
  }
193
+ .section-center { text-align: center; }
194
+ .section-center .section-sub { margin: 0 auto; }
195
 
196
+ /* ── ECOSYSTEM ── */
197
+ .ecosystem { background: var(--white); }
198
+ .ecosystem-inner { max-width: 1200px; margin: 0 auto; }
199
+ .ecosystem-header { margin-bottom: 48px; }
 
 
 
 
 
 
200
 
201
+ .ecosystem-grid {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
  display: grid;
203
  grid-template-columns: repeat(3, 1fr);
204
+ gap: 20px;
 
 
205
  }
206
+ .eco-card {
207
+ background: var(--grey1);
208
  border-radius: var(--radius);
209
+ padding: 28px 24px;
210
+ display: flex;
211
+ flex-direction: column;
212
+ gap: 10px;
213
  transition: transform 0.2s, box-shadow 0.2s;
214
  }
215
+ .eco-card:hover {
216
+ transform: translateY(-3px);
217
+ box-shadow: 0 12px 40px rgba(30,28,28,0.08);
218
  }
219
+ .eco-icon {
220
+ font-size: 1.6rem;
221
+ margin-bottom: 4px;
 
 
 
 
 
 
222
  }
223
+ .eco-card h3 {
224
  font-family: 'Montserrat', sans-serif;
225
  font-weight: 700;
226
+ font-size: 1rem;
227
  color: var(--black);
 
228
  }
229
+ .eco-card p {
230
+ font-size: 0.875rem;
231
+ color: var(--grey);
232
+ line-height: 1.6;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  }
 
234
 
235
+ /* ── IMAGE BREAK ── */
236
+ .image-break {
237
+ padding: 0;
238
+ height: 420px;
239
+ overflow: hidden;
240
+ background: var(--black);
241
+ }
242
+ .image-break img {
243
+ width: 100%;
244
+ height: 100%;
245
+ object-fit: cover;
246
+ opacity: 0.75;
247
+ display: block;
248
+ }
249
+ .image-break-placeholder {
250
+ width: 100%; height: 100%;
251
  display: flex;
252
  align-items: center;
253
  justify-content: center;
254
+ color: rgba(255,255,255,0.2);
255
+ font-size: 0.85rem;
256
  }
 
 
257
 
258
+ /* ── TESTIMONIALS ── */
259
+ .testimonials { background: var(--grey1); }
260
+ .testimonials-inner { max-width: 1200px; margin: 0 auto; }
261
+ .testimonials-header { margin-bottom: 48px; }
262
 
263
+ .testi-grid {
264
  display: grid;
265
+ grid-template-columns: repeat(3, 1fr);
266
+ gap: 20px;
 
 
 
 
 
 
 
 
 
 
 
267
  }
268
+ .testi-card {
269
+ background: var(--white);
270
+ border-radius: var(--radius);
271
+ overflow: hidden;
 
 
 
 
 
 
272
  display: flex;
273
+ flex-direction: column;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
274
  }
275
+ .testi-img {
276
+ aspect-ratio: 3/2;
 
 
 
 
 
 
 
 
 
 
 
277
  overflow: hidden;
278
+ background: var(--lightgrey);
279
+ flex-shrink: 0;
280
  }
281
+ .testi-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
282
+ .testi-img-placeholder {
283
+ width: 100%; height: 100%;
 
 
 
 
 
 
 
 
 
 
284
  display: flex;
 
285
  align-items: center;
286
+ justify-content: center;
287
+ color: var(--grey);
288
+ font-size: 0.78rem;
289
+ min-height: 160px;
290
  }
291
+ .testi-body { padding: 24px; flex: 1; display: flex; flex-direction: column; gap: 14px; }
292
+ .stars { color: var(--golden); font-size: 0.85rem; }
293
+ .testi-card blockquote {
294
+ font-size: 0.9rem;
295
+ color: var(--darkgrey);
296
+ line-height: 1.7;
297
+ font-style: italic;
298
+ flex: 1;
299
+ }
300
+ .testi-author { display: flex; align-items: center; gap: 10px; }
301
+ .avatar {
302
+ width: 36px; height: 36px;
303
  border-radius: 50%;
304
+ background: linear-gradient(135deg, var(--fuchsia) 0%, var(--fuchsia2) 100%);
305
  display: flex;
306
  align-items: center;
307
  justify-content: center;
308
+ color: var(--white);
309
+ font-weight: 700;
310
+ font-size: 0.78rem;
311
+ flex-shrink: 0;
312
  }
313
+ .author-info strong { display: block; font-size: 0.82rem; font-weight: 600; color: var(--black); }
314
+ .author-info span { font-size: 0.72rem; color: var(--grey); }
315
+
316
+ /* trusted stat */
317
+ .trusted-banner {
318
+ background: var(--black);
319
  color: var(--white);
320
+ text-align: center;
321
+ padding: 48px 5%;
322
+ }
323
+ .trusted-banner p {
324
+ font-family: 'Montserrat', sans-serif;
325
+ font-weight: 800;
326
+ font-size: clamp(1.4rem, 3vw, 2rem);
327
+ letter-spacing: -0.5px;
328
  }
329
+ .trusted-banner p span { color: var(--fuchsia); }
330
 
331
+ /* ── BOOKING SECTION ── */
332
+ .booking-section { background: var(--black); color: var(--white); }
333
+ .booking-inner { max-width: 760px; margin: 0 auto; text-align: center; }
334
+ .booking-section .section-title { color: var(--white); margin-bottom: 12px; }
335
+ .booking-section .section-sub { color: rgba(255,255,255,0.55); margin: 0 auto 48px; }
336
 
337
+ /* Direct rep mode (URL param) */
338
+ .direct-rep-box {
339
+ background: rgba(255,255,255,0.06);
340
+ border: 1px solid rgba(255,255,255,0.12);
341
+ border-radius: 20px;
342
+ padding: 48px 40px;
 
 
 
343
  display: flex;
344
  flex-direction: column;
345
+ align-items: center;
346
+ gap: 20px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
347
  }
348
+ .direct-rep-avatar {
349
+ width: 72px; height: 72px;
 
350
  border-radius: 50%;
 
351
  display: flex;
352
  align-items: center;
353
  justify-content: center;
354
+ font-weight: 800;
355
+ font-size: 1.4rem;
356
  color: var(--white);
357
+ margin-bottom: 4px;
358
+ }
359
+ .direct-rep-name {
360
+ font-family: 'Montserrat', sans-serif;
361
  font-weight: 700;
362
+ font-size: 1.1rem;
363
+ color: var(--white);
364
+ }
365
+ .direct-rep-role {
366
  font-size: 0.85rem;
367
+ color: rgba(255,255,255,0.45);
368
  }
 
 
 
 
 
 
 
 
369
 
370
+ /* Rep selector (default mode) */
371
  .rep-selector {
372
  background: rgba(255,255,255,0.06);
373
  border: 1px solid rgba(255,255,255,0.12);
374
  border-radius: 20px;
375
  padding: 40px;
 
376
  }
377
  .rep-selector-label {
378
+ font-size: 0.75rem;
379
  font-weight: 600;
380
  letter-spacing: 1.5px;
381
  text-transform: uppercase;
382
+ color: rgba(255,255,255,0.4);
383
  margin-bottom: 20px;
384
  }
385
  .rep-grid {
386
+ display: flex;
387
+ flex-wrap: wrap;
388
+ justify-content: center;
389
  gap: 12px;
390
  margin-bottom: 32px;
391
  }
 
393
  background: rgba(255,255,255,0.06);
394
  border: 1px solid rgba(255,255,255,0.1);
395
  border-radius: 10px;
396
+ padding: 14px 20px;
397
  cursor: pointer;
398
  text-align: center;
399
  transition: all 0.2s;
400
  color: var(--white);
401
  font-family: 'Inter', sans-serif;
402
+ min-width: 100px;
403
  }
404
  .rep-btn:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.25); }
405
+ .rep-btn.active { background: rgba(255,97,242,0.15); border-color: var(--fuchsia); }
 
406
  .rep-avatar {
407
  width: 44px; height: 44px;
408
  border-radius: 50%;
 
414
  font-size: 1rem;
415
  color: var(--white);
416
  }
417
+ .rep-name { font-size: 0.78rem; font-weight: 500; }
418
 
419
  .booking-cta-area {
420
  display: none;
 
424
  animation: fadeUp 0.3s ease;
425
  }
426
  .booking-cta-area.visible { display: flex; }
 
427
  @keyframes fadeUp {
428
+ from { opacity: 0; transform: translateY(10px); }
429
  to { opacity: 1; transform: translateY(0); }
430
  }
431
+ .rep-intro { font-size: 0.9rem; color: rgba(255,255,255,0.55); }
 
432
  .rep-intro strong { color: var(--white); }
433
+ .no-rep-hint { color: rgba(255,255,255,0.35); font-size: 0.85rem; }
434
 
435
  .book-btn {
436
  background: var(--fuchsia);
 
447
  transition: background 0.2s, transform 0.15s;
448
  }
449
  .book-btn:hover { background: var(--fuchsia2); transform: translateY(-2px); }
450
+ .booking-note { font-size: 0.78rem; color: rgba(255,255,255,0.3); }
 
 
451
 
452
  /* ── FOOTER ── */
453
  footer {
454
  background: #111111;
455
+ color: rgba(255,255,255,0.35);
456
  text-align: center;
457
+ padding: 28px 5%;
458
+ font-size: 0.8rem;
459
  line-height: 1.8;
460
  }
461
+ footer a { color: rgba(255,255,255,0.45); text-decoration: none; }
462
  footer a:hover { color: var(--white); }
463
 
464
  /* ── RESPONSIVE ── */
465
  @media (max-width: 900px) {
466
+ .hero { grid-template-columns: 1fr; padding: 60px 5%; min-height: auto; }
467
+ .hero-image { display: none; }
468
+ .ecosystem-grid { grid-template-columns: 1fr 1fr; }
469
+ .testi-grid { grid-template-columns: 1fr; }
470
+ .image-break { height: 260px; }
 
 
 
471
  }
 
472
  @media (max-width: 600px) {
473
+ .trust-bar { gap: 16px; }
474
+ .ecosystem-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
 
 
 
 
 
 
475
  .rep-selector { padding: 24px 16px; }
476
+ .direct-rep-box { padding: 32px 20px; }
477
  }
478
  </style>
479
  </head>
 
484
  <div class="nav-logo">
485
  <img src="logo.png" alt="SumUp" height="32" style="display:block;" />
486
  </div>
487
+ <a href="#book" class="nav-cta">Book a free demo β†’</a>
488
  </nav>
489
 
490
  <!-- ── HERO ── -->
491
  <section class="hero">
492
  <div class="hero-content">
493
+ <span class="hero-eyebrow">✦ For Beauty &amp; Wellness Businesses</span>
494
+ <h1>Run your business<br /><em>beautifully.</em></h1>
495
  <p class="hero-sub">
496
+ One connected platform for bookings, payments, loyalty and growth. Built for beauty professionals. Backed by SumUp.
497
  </p>
498
+ <a href="#book" class="btn-primary">Book a free demo</a>
 
 
 
 
 
 
 
 
499
  </div>
500
+ <div class="hero-image">
501
+ <!-- Replace image2.png with your hero image file -->
502
+ <img src="image2.png" alt="Beauty business owner using SumUp"
503
+ onerror="this.style.display='none'; this.nextElementSibling.style.display='flex';" />
504
+ <div class="img-placeholder" style="display:none;">image2.png</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
505
  </div>
506
  </section>
507
 
508
  <!-- ── TRUST BAR ── -->
509
  <div class="trust-bar">
510
+ <div class="trust-item featured">
511
+ <svg width="18" height="18" fill="currentColor" viewBox="0 0 24 24"><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg>
512
+ Trusted by 4 million businesses
513
+ </div>
514
  <div class="trust-item">
515
  <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
516
  No setup fees
 
519
  <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"/></svg>
520
  PCI-DSS compliant
521
  </div>
 
 
 
 
 
 
 
 
522
  <div class="trust-item">
523
  <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path d="M18.364 5.636l-3.536 3.536m0 5.656l3.536 3.536M9.172 9.172L5.636 5.636m3.536 9.192l-3.536 3.536M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-5 0a4 4 0 11-8 0 4 4 0 018 0z"/></svg>
524
+ 24/7 priority support
525
  </div>
526
  </div>
527
 
528
+ <!-- ── ECOSYSTEM ── -->
529
+ <section class="ecosystem">
530
+ <div class="ecosystem-inner">
531
+ <div class="ecosystem-header">
532
+ <div class="section-label">One connected ecosystem</div>
533
+ <h2 class="section-title">Everything your beauty business needs.<br/>In one place.</h2>
534
+ <p class="section-sub">Stop juggling different tools. SumUp brings together everything you need to run, grow and get paid β€” all under one roof.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
535
  </div>
536
+ <div class="ecosystem-grid">
 
537
 
538
+ <div class="eco-card">
539
+ <div class="eco-icon">πŸ—“οΈ</div>
540
+ <h3>Bookings</h3>
541
+ <p>24/7 online scheduling with automated reminders, deposits and no-show fees. Clients book themselves. You stay in control.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
542
  </div>
 
 
 
543
 
544
+ <div class="eco-card">
545
+ <div class="eco-icon">πŸ’³</div>
546
+ <h3>POS &amp; Payments</h3>
547
+ <p>Fast, reliable in-person payments. Card, Apple Pay, Google Pay β€” all at competitive rates with instant payouts.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
548
  </div>
 
 
 
549
 
550
+ <div class="eco-card">
551
+ <div class="eco-icon">πŸ›οΈ</div>
552
+ <h3>Online Store</h3>
553
+ <p>Sell products and gift vouchers online. Easy to set up, easy to integrate β€” a new revenue stream without the hassle.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
554
  </div>
555
+
556
+ <div class="eco-card">
557
+ <div class="eco-icon">⭐</div>
558
+ <h3>Loyalty</h3>
559
+ <p>Turn one-time visitors into regulars. Set up a points or stamp reward programme in minutes from your dashboard.</p>
 
 
 
 
 
 
 
560
  </div>
 
 
 
561
 
562
+ <div class="eco-card">
563
+ <div class="eco-icon">🎁</div>
564
+ <h3>Gift Cards</h3>
565
+ <p>Let clients gift your services. Digital gift cards grow your revenue and bring in new customers at zero extra cost.</p>
 
 
 
 
 
 
 
566
  </div>
567
+
568
+ <div class="eco-card">
569
+ <div class="eco-icon">πŸ’°</div>
570
+ <h3>Cash Advance</h3>
571
+ <p>Need to invest in equipment or stock? Get funding based on your sales β€” repaid automatically as you trade.</p>
572
  </div>
573
+
574
  </div>
575
  </div>
576
  </section>
577
 
578
+ <!-- ── IMAGE BREAK 1 ── -->
579
+ <!-- Replace image3.png with a lifestyle photo of a beauty business -->
580
+ <div class="image-break">
581
+ <img src="image3.png" alt="Beauty salon"
582
+ onerror="this.style.display='none'; this.nextElementSibling.style.display='flex';" />
583
+ <div class="image-break-placeholder" style="display:none;">image3.png</div>
584
+ </div>
 
 
585
 
586
+ <!-- ── TESTIMONIALS ── -->
587
+ <section class="testimonials">
588
+ <div class="testimonials-inner">
589
+ <div class="testimonials-header">
590
+ <div class="section-label">What businesses say</div>
591
+ <h2 class="section-title">Trusted by 4 million businesses like yours.</h2>
592
+ </div>
593
+ <div class="testi-grid">
594
+
595
+ <div class="testi-card">
596
+ <!-- Replace image4.png β€” photo of or for this testimonial -->
597
+ <div class="testi-img">
598
+ <img src="image4.png" alt="Faye from Mirror Mirror"
599
+ onerror="this.style.display='none'; this.nextElementSibling.style.display='flex';" />
600
+ <div class="testi-img-placeholder" style="display:none;">image4.png</div>
601
  </div>
602
+ <div class="testi-body">
603
+ <div class="stars">β˜…β˜…β˜…β˜…β˜…</div>
604
+ <blockquote>"The SumUp Cash Advance really helped me upgrade my salon furniture and start my own lash kits β€” which increased our profitability."</blockquote>
605
+ <div class="testi-author">
606
+ <div class="avatar">FF</div>
607
+ <div class="author-info">
608
+ <strong>Faye</strong>
609
+ <span>Mirror Mirror, Salon Owner</span>
610
+ </div>
 
 
 
611
  </div>
612
  </div>
613
  </div>
614
 
615
+ <div class="testi-card">
616
+ <!-- Replace image5.png β€” photo of or for this testimonial -->
617
+ <div class="testi-img">
618
+ <img src="image5.png" alt="Curators Love Yourself"
619
+ onerror="this.style.display='none'; this.nextElementSibling.style.display='flex';" />
620
+ <div class="testi-img-placeholder" style="display:none;">image5.png</div>
 
 
 
 
 
621
  </div>
622
+ <div class="testi-body">
623
+ <div class="stars">β˜…β˜…β˜…β˜…β˜…</div>
624
+ <blockquote>"The Online Store is an invaluable asset to my small business's ability to trade online β€” it's been vital from day one."</blockquote>
625
+ <div class="testi-author">
626
+ <div class="avatar">CL</div>
627
+ <div class="author-info">
628
+ <strong>Curators Love Yourself</strong>
629
+ <span>Beauty Products</span>
630
+ </div>
 
 
 
631
  </div>
632
  </div>
633
  </div>
634
 
635
+ <div class="testi-card">
636
+ <!-- Replace image6.png β€” photo of or for this testimonial -->
637
+ <div class="testi-img">
638
+ <img src="image6.png" alt="Beauty business owner"
639
+ onerror="this.style.display='none'; this.nextElementSibling.style.display='flex';" />
640
+ <div class="testi-img-placeholder" style="display:none;">image6.png</div>
 
 
 
 
 
 
 
 
 
 
 
641
  </div>
642
+ <div class="testi-body">
643
+ <div class="stars">β˜…β˜…β˜…β˜…β˜…</div>
644
+ <blockquote>"My booking page is live 24/7. Clients book on Instagram, reschedule themselves, and I get paid upfront. No calls to miss. No DMs to chase."</blockquote>
645
+ <div class="testi-author">
646
+ <div class="avatar">TL</div>
647
+ <div class="author-info">
648
+ <strong>Tanya L.</strong>
649
+ <span>Lash Technician, Birmingham</span>
650
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
651
  </div>
652
  </div>
653
  </div>
 
656
  </div>
657
  </section>
658
 
659
+ <!-- ── IMAGE BREAK 2 ── -->
660
+ <!-- Replace image7.png with another lifestyle / product image -->
661
+ <div class="image-break">
662
+ <img src="image7.png" alt="SumUp in action"
663
+ onerror="this.style.display='none'; this.nextElementSibling.style.display='flex';" />
664
+ <div class="image-break-placeholder" style="display:none;">image7.png</div>
665
+ </div>
666
+
667
  <!-- ── BOOK A DEMO ── -->
668
  <section class="booking-section" id="book">
669
  <div class="booking-inner">
670
  <div class="section-label">Book a demo</div>
671
+ <h2 class="section-title">See it for yourself.</h2>
672
  <p class="section-sub">
673
+ Talk to a SumUp expert about your business. Free, 30 minutes, no commitment.
674
  </p>
675
 
676
+ <!-- DIRECT REP MODE: shown when ?rep=name in URL -->
677
+ <div class="direct-rep-box" id="directRepBox" style="display:none;">
678
+ <div class="direct-rep-avatar" id="directRepAvatar"></div>
679
+ <div class="direct-rep-name" id="directRepName"></div>
680
+ <div class="direct-rep-role">SumUp Beauty Specialist</div>
681
+ <a href="#" class="book-btn" id="directBookLink" target="_blank" rel="noopener">
682
+ <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
683
+ Book your free 30-min demo
684
+ </a>
685
+ <p class="booking-note">Free cancellation anytime Β· No sign-in required</p>
686
+ </div>
687
+
688
+ <!-- DEFAULT MODE: shown when no ?rep= param -->
689
+ <div class="rep-selector" id="repSelector">
690
+ <div class="rep-selector-label">Choose your SumUp representative</div>
691
  <div class="rep-grid" id="repGrid">
692
  <!-- Populated by JS -->
693
  </div>
694
  <div class="booking-cta-area" id="ctaArea">
695
+ <p class="rep-intro">Book a call with <strong id="repNameDisplay"></strong></p>
696
  <a href="#" class="book-btn" id="bookLink" target="_blank" rel="noopener">
697
  <svg width="20" height="20" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
698
  Book your free 30-min demo
699
  </a>
700
+ <p class="booking-note">Free cancellation anytime Β· No sign-in required</p>
701
  </div>
702
+ <div class="no-rep-hint" id="noRepHint">Select a representative above to book</div>
703
  </div>
704
+
705
  </div>
706
  </section>
707
 
708
  <!-- ── FOOTER ── -->
709
  <footer>
710
  <p>Β© 2026 SumUp. All rights reserved. &nbsp;Β·&nbsp; <a href="#">Privacy Policy</a> &nbsp;Β·&nbsp; <a href="#">Terms of Service</a> &nbsp;Β·&nbsp; <a href="#">Help Centre</a></p>
711
+ <p style="margin-top:6px;">SumUp Financial Services Limited Β· Regulated by the FCA</p>
712
  </footer>
713
 
714
  <script>
715
+ // ── REPS DATA ──
716
+ // Add or edit reps here. 'slug' is what goes in the URL: ?rep=sahana
 
 
 
 
 
 
 
 
 
717
  const reps = [
718
+ {
719
+ name: "Sahana",
720
+ slug: "sahana",
721
+ initials: "SB",
722
+ color: "#FF61F2",
723
+ link: "https://calendar.app.google/Ger8Z5Er4BqLXprx9"
724
+ },
725
+ {
726
+ name: "Caro",
727
+ slug: "caro",
728
+ initials: "CG",
729
+ color: "#F9C300",
730
+ link: "https://calendar.app.google/cV8c2hZzMfsTuM86A"
731
+ },
732
+ // Add more reps here following the same format:
733
+ // { name: "Alex", slug: "alex", initials: "AK", color: "#FF61F2", link: "https://..." },
734
  ];
735
 
736
+ // ── URL PARAM CHECK ──
737
+ const params = new URLSearchParams(window.location.search);
738
+ const repSlug = (params.get('rep') || '').toLowerCase().trim();
739
+ const matchRep = reps.find(r => r.slug === repSlug);
740
+
741
+ if (matchRep) {
742
+ // DIRECT MODE β€” hide selector, show personal booking box
743
+ document.getElementById('repSelector').style.display = 'none';
744
+ document.getElementById('directRepBox').style.display = 'flex';
745
+
746
+ const avatarEl = document.getElementById('directRepAvatar');
747
+ avatarEl.textContent = matchRep.initials;
748
+ avatarEl.style.background = `linear-gradient(135deg, ${matchRep.color} 0%, ${matchRep.color}99 100%)`;
749
+
750
+ document.getElementById('directRepName').textContent = `Book with ${matchRep.name}`;
751
+ document.getElementById('directBookLink').href = matchRep.link;
752
+
753
+ // Update page heading too
754
+ document.querySelector('.booking-section .section-title').textContent = `Book with ${matchRep.name}.`;
755
+
756
+ } else {
757
+ // DEFAULT MODE β€” build rep selector
758
+ const grid = document.getElementById('repGrid');
759
+ const ctaArea = document.getElementById('ctaArea');
760
+ const noRepHint = document.getElementById('noRepHint');
761
+ const bookLink = document.getElementById('bookLink');
762
+ const repName = document.getElementById('repNameDisplay');
763
+
764
+ reps.forEach((rep, i) => {
765
+ const btn = document.createElement('button');
766
+ btn.className = 'rep-btn';
767
+ btn.innerHTML = `
768
+ <div class="rep-avatar" style="background:linear-gradient(135deg,${rep.color} 0%,${rep.color}99 100%)">${rep.initials}</div>
769
+ <div class="rep-name">${rep.name}</div>
770
+ `;
771
+ btn.addEventListener('click', () => {
772
+ grid.querySelectorAll('.rep-btn').forEach(b => b.classList.remove('active'));
773
+ btn.classList.add('active');
774
+ repName.textContent = rep.name;
775
+ bookLink.href = rep.link;
776
+ ctaArea.classList.add('visible');
777
+ noRepHint.style.display = 'none';
778
+ });
779
+ grid.appendChild(btn);
780
+ });
781
  }
782
  </script>
783
  </body>