varunsardesai commited on
Commit
5077ec3
Β·
verified Β·
1 Parent(s): 625a27c

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +313 -70
index.html CHANGED
@@ -464,7 +464,7 @@ font-size: 0.8rem;
464
  <div class="nav-logo">
465
  <img src="logo.png" alt="SumUp" height="32" style="display:block;" />
466
  </div>
467
- <a href="#book" class="nav-cta">Book a free demo β†’</a>
468
  </nav>
469
 
470
  <!-- ── REP INTRO BANNER (shown only on ?rep= links) ── -->
@@ -474,10 +474,10 @@ font-size: 0.8rem;
474
  <div class="rep-intro-hey" id="repHey"></div>
475
  <h2 id="repIntroHeadline"></h2>
476
  </div>
477
- <p id="repIntroBody">I've put together this page just for you, so you can explore SumUp at your own pace. Take a look, check the pricing, and book a call whenever you're ready.</p>
478
  <a href="#" class="rep-intro-cta" id="repIntroCta" target="_blank" rel="noopener">
479
  <svg width="18" height="18" 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>
480
- Book a free demo
481
  </a>
482
  <div class="rep-intro-role" id="repIntroRole"></div>
483
  </div>
@@ -486,17 +486,17 @@ font-size: 0.8rem;
486
  <section class="bookings-section">
487
  <div class="bookings-inner">
488
  <div class="bookings-content">
489
- <div class="section-label">Core feature</div>
490
- <h2 class="section-title">Smart bookings that run themselves.</h2>
491
- <p class="section-sub">No-shows cost beauty businesses thousands every year. SumUp's booking system puts you back in control β€” automatically.</p>
492
  <div class="bookings-detail">
493
  <div class="bookings-point">
494
  <div class="bookings-point-icon">
495
  <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
496
  </div>
497
  <div class="bookings-point-text">
498
- <strong>Online scheduling 24/7</strong>
499
- Clients book themselves at any time β€” no back-and-forth messages.
500
  </div>
501
  </div>
502
  <div class="bookings-point">
@@ -504,8 +504,8 @@ font-size: 0.8rem;
504
  <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
505
  </div>
506
  <div class="bookings-point-text">
507
- <strong>Automated reminders</strong>
508
- SMS and email reminders sent automatically to reduce no-shows.
509
  </div>
510
  </div>
511
  <div class="bookings-point">
@@ -513,8 +513,8 @@ font-size: 0.8rem;
513
  <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
514
  </div>
515
  <div class="bookings-point-text">
516
- <strong>Deposits & cancellation fees</strong>
517
- Require upfront deposits and charge for late cancellations automatically.
518
  </div>
519
  </div>
520
  <div class="bookings-point">
@@ -522,13 +522,12 @@ font-size: 0.8rem;
522
  <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
523
  </div>
524
  <div class="bookings-point-text">
525
- <strong>Your own booking page</strong>
526
- A branded page clients can share and save, no app download needed.
527
  </div>
528
  </div>
529
  </div>
530
  </div>
531
- <!-- Replace hero.png with your preferred product image -->
532
  <div class="bookings-image">
533
  <img src="hero.png" alt="SumUp bookings"
534
  onerror="this.style.display='none'; this.nextElementSibling.style.display='flex';" />
@@ -543,44 +542,39 @@ font-size: 0.8rem;
543
  <section class="more-features">
544
  <div class="more-features-inner">
545
  <div class="more-features-header">
546
- <div class="section-label">And there's more</div>
547
- <h2 class="section-title">Everything else your business needs.</h2>
548
- <p class="section-sub">SumUp goes beyond bookings β€” giving you the full toolkit to run, grow and get paid.</p>
549
  </div>
550
  <div class="features-grid">
551
-
552
  <div class="feature-card">
553
  <div class="eco-icon">
554
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"><rect x="1" y="4" width="22" height="16" rx="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg>
555
  </div>
556
- <h3>POS & Payments</h3>
557
- <p>Card, Apple Pay, Google Pay β€” all at competitive rates with next-day payouts.</p>
558
  </div>
559
-
560
  <div class="feature-card">
561
  <div class="eco-icon">
562
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"><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>
563
  </div>
564
- <h3>Loyalty</h3>
565
- <p>Points and stamp programmes to turn one-time visitors into regulars.</p>
566
  </div>
567
-
568
  <div class="feature-card">
569
  <div class="eco-icon">
570
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"><path d="M20 12v10H4V12"/><path d="M22 7H2v5h20V7z"/><path d="M12 22V7"/><path d="M12 7H7.5a2.5 2.5 0 010-5C11 2 12 7 12 7z"/><path d="M12 7h4.5a2.5 2.5 0 000-5C13 2 12 7 12 7z"/></svg>
571
  </div>
572
- <h3>Gift Cards</h3>
573
- <p>Digital gift cards that bring in new customers at zero extra cost.</p>
574
  </div>
575
-
576
  <div class="feature-card">
577
  <div class="eco-icon">
578
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"><line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6"/></svg>
579
  </div>
580
- <h3>Cash Advance</h3>
581
- <p>Funding based on your sales β€” repaid automatically as you trade.</p>
582
  </div>
583
-
584
  </div>
585
  </div>
586
  </section>
@@ -588,17 +582,17 @@ font-size: 0.8rem;
588
  <!-- ── DEMO LINK ── -->
589
  <section class="demo-link-section">
590
  <div class="demo-link-inner">
591
- <div class="section-label">Try it yourself</div>
592
- <h2 class="section-title">Explore the live demo account.</h2>
593
- <p class="section-sub" style="text-align:center;">Get hands-on with SumUp. Click through the demo and see how it works for a beauty business like yours β€” no sign-in needed.</p>
594
  <a href="https://www.sumupbookings.com/demo-bookings-uk" target="_blank" rel="noopener" class="demo-strip">
595
  <div class="demo-strip-left">
596
  <div class="demo-strip-icon">
597
  <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"><polygon points="5 3 19 12 5 21 5 3"/></svg>
598
  </div>
599
  <div>
600
- <div class="demo-strip-text">Open the demo account</div>
601
- <div class="demo-strip-sub">Explore the platform at your own pace</div>
602
  </div>
603
  </div>
604
  <div class="demo-strip-arrow">β†’</div>
@@ -610,29 +604,29 @@ font-size: 0.8rem;
610
  <section class="pricing-section">
611
  <div class="pricing-inner">
612
  <div class="pricing-header">
613
- <div class="section-label">Pricing</div>
614
- <h2 class="section-title">Simple, personalised pricing.</h2>
615
- <p class="section-sub">No hidden costs. No commissions. 24/7 Priority Care included on every plan.</p>
616
  </div>
617
  <div class="pricing-generic">
618
- <div class="pricing-generic-tag">Personalised fees</div>
619
- <h3>Plans starting from Β£39/month β€” with payment fees from 0.6%.</h3>
620
- <p>We work with each beauty business individually to find the right plan for your volume and setup. Book a free call and we'll put together a personalised quote tailored to how your business runs.</p>
621
  <div class="pricing-generic-points">
622
  <div class="pricing-point">
623
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="#1E1C1C" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
624
- Transparent pricing β€” what you see is what you pay
625
  </div>
626
  <div class="pricing-point">
627
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="#1E1C1C" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
628
- No setup fees, no long-term contracts
629
  </div>
630
  <div class="pricing-point">
631
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="#1E1C1C" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
632
- 24/7 Priority Care included on every plan
633
  </div>
634
  </div>
635
- <div class="pricing-generic-note">Exact fees are confirmed on your free demo call based on your business type and transaction volume.</div>
636
  </div>
637
  </div>
638
  </section>
@@ -640,34 +634,34 @@ font-size: 0.8rem;
640
  <!-- ── BOOKING ── -->
641
  <section class="booking-section" id="book">
642
  <div class="booking-inner">
643
- <div class="section-label">Ready to talk?</div>
644
  <h2 class="section-title" id="bookingTitle">Book your free call.</h2>
645
- <p class="section-sub">No pressure, no commitment. Just a quick 30-minute chat to see if SumUp is the right fit for your business.</p>
646
  <br />
647
 
648
  <!-- DIRECT REP MODE -->
649
  <div class="direct-rep-box" id="directRepBox" style="display:none;">
650
  <div class="direct-rep-avatar" id="directRepAvatar"></div>
651
  <div class="direct-rep-name" id="directRepName"></div>
652
- <div class="direct-rep-role">SumUp Beauty Specialist</div>
653
  <a href="#" class="book-btn" id="directBookLink" target="_blank" rel="noopener">
654
  <svg width="18" height="18" 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>
655
- Book your free 30-min call
656
  </a>
657
- <p class="booking-note">Free cancellation anytime Β· No sign-in required</p>
658
  </div>
659
 
660
  <!-- DEFAULT MODE -->
661
  <div class="rep-selector" id="repSelector">
662
- <div class="rep-selector-label">Choose your SumUp representative</div>
663
  <div class="rep-grid" id="repGrid"></div>
664
  <div class="booking-cta-area" id="ctaArea">
665
- <p class="rep-intro">Book a call with <strong id="repNameDisplay"></strong></p>
666
  <a href="#" class="book-btn" id="bookLink" target="_blank" rel="noopener">
667
  <svg width="18" height="18" 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>
668
- Book your free 30-min call
669
  </a>
670
- <p class="booking-note">Free cancellation anytime Β· No sign-in required</p>
671
  </div>
672
  <div class="no-rep-hint" id="noRepHint">Select a representative above to book</div>
673
  </div>
@@ -681,18 +675,219 @@ font-size: 0.8rem;
681
  </footer>
682
 
683
  <script>
 
 
 
684
  const reps = [
685
- { name: "Christian", slug: "christian", initials: "CJ", color: "#FF61F2", photo: "christian.jpg", link: "https://calendar.app.google/foUdP9FUMHVUCXAb6" },
686
- { name: "Edoardo", slug: "edoardo", initials: "ET", color: "#F9C300", photo: "edoardo.jpg", link: "https://calendar.app.google/dWPVQy2BuwdwJmqy7" },
687
- { name: "Gareth", slug: "gareth", initials: "GD", color: "#FF61F2", photo: "gareth.jpg", link: "https://calendar.app.google/8f7hQkr5a2H5rit7A" },
688
- { name: "Miriam", slug: "miriam", initials: "MK", color: "#F9C300", photo: "miriam.png", link: "https://calendar.app.google/tGkiahEBtet1HLsU7" },
689
- { name: "Shane", slug: "shane", initials: "SO", color: "#FF61F2", photo: "shane.png", link: "https://calendar.app.google/Bary3iiw8PoEre7t7" },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
690
  ];
691
 
692
- const params = new URLSearchParams(window.location.search);
693
- const repSlug = (params.get('rep') || '').toLowerCase().trim();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
694
  const matchRep = reps.find(r => r.slug === repSlug);
695
 
 
 
 
 
 
 
 
 
 
 
696
  function setAvatar(el, rep) {
697
  if (rep.photo) {
698
  el.innerHTML = `<img src="${rep.photo}" alt="${rep.name}" style="width:100%;height:100%;object-fit:cover;display:block;" />`;
@@ -703,26 +898,74 @@ function setAvatar(el, rep) {
703
  }
704
  }
705
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
706
  if (matchRep) {
707
- // Show rep intro banner
708
  document.getElementById('repIntroBanner').classList.add('visible');
709
  setAvatar(document.getElementById('repAvatarHero'), matchRep);
710
- document.getElementById('repHey').textContent = `Hey, I'm ${matchRep.name} πŸ‘‹`;
711
- document.getElementById('repIntroHeadline').textContent = `Your personal SumUp Beauty Specialist.`;
 
 
712
  document.getElementById('repIntroCta').href = matchRep.link;
713
 
714
- // Booking: direct rep mode
 
 
 
715
  document.getElementById('repSelector').style.display = 'none';
716
  document.getElementById('directRepBox').style.display = 'flex';
717
  const avatarEl = document.getElementById('directRepAvatar');
718
  setAvatar(avatarEl, matchRep);
719
  avatarEl.style.borderRadius = '50%';
720
- document.getElementById('directRepName').textContent = `Book with ${matchRep.name}`;
721
  document.getElementById('directBookLink').href = matchRep.link;
722
- document.getElementById('bookingTitle').textContent = `Book your free call with ${matchRep.name}.`;
723
 
724
  } else {
725
- // Default: rep selector
 
726
  const grid = document.getElementById('repGrid');
727
  const ctaArea = document.getElementById('ctaArea');
728
  const noRepHint = document.getElementById('noRepHint');
@@ -751,4 +994,4 @@ if (matchRep) {
751
  }
752
  </script>
753
  </body>
754
- </html>
 
464
  <div class="nav-logo">
465
  <img src="logo.png" alt="SumUp" height="32" style="display:block;" />
466
  </div>
467
+ <a href="#book" class="nav-cta" id="navCta">Book a free demo β†’</a>
468
  </nav>
469
 
470
  <!-- ── REP INTRO BANNER (shown only on ?rep= links) ── -->
 
474
  <div class="rep-intro-hey" id="repHey"></div>
475
  <h2 id="repIntroHeadline"></h2>
476
  </div>
477
+ <p id="repIntroBody"></p>
478
  <a href="#" class="rep-intro-cta" id="repIntroCta" target="_blank" rel="noopener">
479
  <svg width="18" height="18" 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>
480
+ <span id="repIntroCtaText"></span>
481
  </a>
482
  <div class="rep-intro-role" id="repIntroRole"></div>
483
  </div>
 
486
  <section class="bookings-section">
487
  <div class="bookings-inner">
488
  <div class="bookings-content">
489
+ <div class="section-label" id="bookingLabel">Core feature</div>
490
+ <h2 class="section-title" id="bookingHeadline">Smart bookings that run themselves.</h2>
491
+ <p class="section-sub" id="bookingSub">No-shows cost beauty businesses thousands every year. SumUp's booking system puts you back in control β€” automatically.</p>
492
  <div class="bookings-detail">
493
  <div class="bookings-point">
494
  <div class="bookings-point-icon">
495
  <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
496
  </div>
497
  <div class="bookings-point-text">
498
+ <strong id="bp1Title">Online scheduling 24/7</strong>
499
+ <span id="bp1Body">Clients book themselves at any time β€” no back-and-forth messages.</span>
500
  </div>
501
  </div>
502
  <div class="bookings-point">
 
504
  <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
505
  </div>
506
  <div class="bookings-point-text">
507
+ <strong id="bp2Title">Automated reminders</strong>
508
+ <span id="bp2Body">SMS and email reminders sent automatically to reduce no-shows.</span>
509
  </div>
510
  </div>
511
  <div class="bookings-point">
 
513
  <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
514
  </div>
515
  <div class="bookings-point-text">
516
+ <strong id="bp3Title">Deposits &amp; cancellation fees</strong>
517
+ <span id="bp3Body">Require upfront deposits and charge for late cancellations automatically.</span>
518
  </div>
519
  </div>
520
  <div class="bookings-point">
 
522
  <svg width="14" height="14" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
523
  </div>
524
  <div class="bookings-point-text">
525
+ <strong id="bp4Title">Your own booking page</strong>
526
+ <span id="bp4Body">A branded page clients can share and save, no app download needed.</span>
527
  </div>
528
  </div>
529
  </div>
530
  </div>
 
531
  <div class="bookings-image">
532
  <img src="hero.png" alt="SumUp bookings"
533
  onerror="this.style.display='none'; this.nextElementSibling.style.display='flex';" />
 
542
  <section class="more-features">
543
  <div class="more-features-inner">
544
  <div class="more-features-header">
545
+ <div class="section-label" id="featuresLabel">And there's more</div>
546
+ <h2 class="section-title" id="featuresHeadline">Everything else your business needs.</h2>
547
+ <p class="section-sub" id="featuresSub">SumUp goes beyond bookings β€” giving you the full toolkit to run, grow and get paid.</p>
548
  </div>
549
  <div class="features-grid">
 
550
  <div class="feature-card">
551
  <div class="eco-icon">
552
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"><rect x="1" y="4" width="22" height="16" rx="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg>
553
  </div>
554
+ <h3 id="f1Title">POS &amp; Payments</h3>
555
+ <p id="f1Body">Card, Apple Pay, Google Pay β€” all at competitive rates with next-day payouts.</p>
556
  </div>
 
557
  <div class="feature-card">
558
  <div class="eco-icon">
559
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"><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>
560
  </div>
561
+ <h3 id="f2Title">Loyalty</h3>
562
+ <p id="f2Body">Points and stamp programmes to turn one-time visitors into regulars.</p>
563
  </div>
 
564
  <div class="feature-card">
565
  <div class="eco-icon">
566
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"><path d="M20 12v10H4V12"/><path d="M22 7H2v5h20V7z"/><path d="M12 22V7"/><path d="M12 7H7.5a2.5 2.5 0 010-5C11 2 12 7 12 7z"/><path d="M12 7h4.5a2.5 2.5 0 000-5C13 2 12 7 12 7z"/></svg>
567
  </div>
568
+ <h3 id="f3Title">Gift Cards</h3>
569
+ <p id="f3Body">Digital gift cards that bring in new customers at zero extra cost.</p>
570
  </div>
 
571
  <div class="feature-card">
572
  <div class="eco-icon">
573
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"><line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6"/></svg>
574
  </div>
575
+ <h3 id="f4Title">Cash Advance</h3>
576
+ <p id="f4Body">Funding based on your sales β€” repaid automatically as you trade.</p>
577
  </div>
 
578
  </div>
579
  </div>
580
  </section>
 
582
  <!-- ── DEMO LINK ── -->
583
  <section class="demo-link-section">
584
  <div class="demo-link-inner">
585
+ <div class="section-label" id="demoLabel">Try it yourself</div>
586
+ <h2 class="section-title" id="demoHeadline">Explore the live demo account.</h2>
587
+ <p class="section-sub" id="demoSub" style="text-align:center;">Get hands-on with SumUp. Click through the demo and see how it works for a beauty business like yours β€” no sign-in needed.</p>
588
  <a href="https://www.sumupbookings.com/demo-bookings-uk" target="_blank" rel="noopener" class="demo-strip">
589
  <div class="demo-strip-left">
590
  <div class="demo-strip-icon">
591
  <svg width="18" height="18" fill="none" viewBox="0 0 24 24" stroke="white" stroke-width="2"><polygon points="5 3 19 12 5 21 5 3"/></svg>
592
  </div>
593
  <div>
594
+ <div class="demo-strip-text" id="demoStripText">Open the demo account</div>
595
+ <div class="demo-strip-sub" id="demoStripSub">Explore the platform at your own pace</div>
596
  </div>
597
  </div>
598
  <div class="demo-strip-arrow">β†’</div>
 
604
  <section class="pricing-section">
605
  <div class="pricing-inner">
606
  <div class="pricing-header">
607
+ <div class="section-label" id="pricingLabel">Pricing</div>
608
+ <h2 class="section-title" id="pricingHeadline">Simple, personalised pricing.</h2>
609
+ <p class="section-sub" id="pricingSub">No hidden costs. No commissions. 24/7 Priority Care included on every plan.</p>
610
  </div>
611
  <div class="pricing-generic">
612
+ <div class="pricing-generic-tag" id="pricingTag">Personalised fees</div>
613
+ <h3 id="pricingAmount">Plans starting from Β£39/month β€” with payment fees from 0.6%.</h3>
614
+ <p id="pricingBody">We work with each beauty business individually to find the right plan for your volume and setup. Book a free call and we'll put together a personalised quote tailored to how your business runs.</p>
615
  <div class="pricing-generic-points">
616
  <div class="pricing-point">
617
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="#1E1C1C" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
618
+ <span id="pp1">Transparent pricing β€” what you see is what you pay</span>
619
  </div>
620
  <div class="pricing-point">
621
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="#1E1C1C" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
622
+ <span id="pp2">No setup fees, no long-term contracts</span>
623
  </div>
624
  <div class="pricing-point">
625
  <svg width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="#1E1C1C" stroke-width="2.5"><polyline points="20 6 9 17 4 12"/></svg>
626
+ <span id="pp3">24/7 Priority Care included on every plan</span>
627
  </div>
628
  </div>
629
+ <div class="pricing-generic-note" id="pricingNote">Exact fees are confirmed on your free demo call based on your business type and transaction volume.</div>
630
  </div>
631
  </div>
632
  </section>
 
634
  <!-- ── BOOKING ── -->
635
  <section class="booking-section" id="book">
636
  <div class="booking-inner">
637
+ <div class="section-label" id="bookLabel">Ready to talk?</div>
638
  <h2 class="section-title" id="bookingTitle">Book your free call.</h2>
639
+ <p class="section-sub" id="bookingSectionSub">No pressure, no commitment. Just a quick 30-minute chat to see if SumUp is the right fit for your business.</p>
640
  <br />
641
 
642
  <!-- DIRECT REP MODE -->
643
  <div class="direct-rep-box" id="directRepBox" style="display:none;">
644
  <div class="direct-rep-avatar" id="directRepAvatar"></div>
645
  <div class="direct-rep-name" id="directRepName"></div>
646
+ <div class="direct-rep-role" id="directRepRole">SumUp Beauty Specialist</div>
647
  <a href="#" class="book-btn" id="directBookLink" target="_blank" rel="noopener">
648
  <svg width="18" height="18" 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>
649
+ <span id="directBookBtnText">Book your free 30-min call</span>
650
  </a>
651
+ <p class="booking-note" id="directBookNote">Free cancellation anytime Β· No sign-in required</p>
652
  </div>
653
 
654
  <!-- DEFAULT MODE -->
655
  <div class="rep-selector" id="repSelector">
656
+ <div class="rep-selector-label" id="repSelectorLabel">Choose your SumUp representative</div>
657
  <div class="rep-grid" id="repGrid"></div>
658
  <div class="booking-cta-area" id="ctaArea">
659
+ <p class="rep-intro" id="repIntroText">Book a call with <strong id="repNameDisplay"></strong></p>
660
  <a href="#" class="book-btn" id="bookLink" target="_blank" rel="noopener">
661
  <svg width="18" height="18" 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>
662
+ <span id="bookBtnText">Book your free 30-min call</span>
663
  </a>
664
+ <p class="booking-note" id="bookNote">Free cancellation anytime Β· No sign-in required</p>
665
  </div>
666
  <div class="no-rep-hint" id="noRepHint">Select a representative above to book</div>
667
  </div>
 
675
  </footer>
676
 
677
  <script>
678
+ // ─────────────────────────────────────────────
679
+ // REPS β€” add lang + currency to each rep
680
+ // ─────────────────────────────────────────────
681
  const reps = [
682
+ {
683
+ name: "Christian", slug: "christian", initials: "CJ", color: "#FF61F2",
684
+ photo: "christian.jpg", link: "https://calendar.app.google/foUdP9FUMHVUCXAb6",
685
+ lang: "en", currency: "Β£"
686
+ },
687
+ {
688
+ name: "Edoardo", slug: "edoardo", initials: "ET", color: "#F9C300",
689
+ photo: "edoardo.jpg", link: "https://calendar.app.google/dWPVQy2BuwdwJmqy7",
690
+ lang: "it", currency: "€"
691
+ },
692
+ {
693
+ name: "Gareth", slug: "gareth", initials: "GD", color: "#FF61F2",
694
+ photo: "gareth.jpg", link: "https://calendar.app.google/8f7hQkr5a2H5rit7A",
695
+ lang: "en", currency: "Β£"
696
+ },
697
+ {
698
+ name: "Miriam", slug: "miriam", initials: "MK", color: "#F9C300",
699
+ photo: "miriam.png", link: "https://calendar.app.google/tGkiahEBtet1HLsU7",
700
+ lang: "de", currency: "€"
701
+ },
702
+ {
703
+ name: "Shane", slug: "shane", initials: "SO", color: "#FF61F2",
704
+ photo: "shane.png", link: "https://calendar.app.google/Bary3iiw8PoEre7t7",
705
+ lang: "en", currency: "Β£"
706
+ },
707
  ];
708
 
709
+ // ─────────────────────────────────────────────
710
+ // TRANSLATIONS
711
+ // ─────────────────────────────────────────────
712
+ const t = {
713
+ en: {
714
+ navCta: "Book a free demo β†’",
715
+ repHey: (name) => `Hey, I'm ${name} πŸ‘‹`,
716
+ repHeadline: "Your personal SumUp Beauty Specialist.",
717
+ repBody: "I've put together this page just for you, so you can explore SumUp at your own pace. Take a look, check the pricing, and book a call whenever you're ready.",
718
+ repCtaText: "Book a free demo",
719
+ repRole: "SumUp Beauty Specialist",
720
+ bookingLabel: "Core feature",
721
+ bookingHeadline: "Smart bookings that run themselves.",
722
+ bookingSub: "No-shows cost beauty businesses thousands every year. SumUp's booking system puts you back in control β€” automatically.",
723
+ bp1Title: "Online scheduling 24/7",
724
+ bp1Body: "Clients book themselves at any time β€” no back-and-forth messages.",
725
+ bp2Title: "Automated reminders",
726
+ bp2Body: "SMS and email reminders sent automatically to reduce no-shows.",
727
+ bp3Title: "Deposits & cancellation fees",
728
+ bp3Body: "Require upfront deposits and charge for late cancellations automatically.",
729
+ bp4Title: "Your own booking page",
730
+ bp4Body: "A branded page clients can share and save, no app download needed.",
731
+ featuresLabel: "And there's more",
732
+ featuresHeadline: "Everything else your business needs.",
733
+ featuresSub: "SumUp goes beyond bookings β€” giving you the full toolkit to run, grow and get paid.",
734
+ f1Title: "POS & Payments", f1Body: "Card, Apple Pay, Google Pay β€” all at competitive rates with next-day payouts.",
735
+ f2Title: "Loyalty", f2Body: "Points and stamp programmes to turn one-time visitors into regulars.",
736
+ f3Title: "Gift Cards", f3Body: "Digital gift cards that bring in new customers at zero extra cost.",
737
+ f4Title: "Cash Advance", f4Body: "Funding based on your sales β€” repaid automatically as you trade.",
738
+ demoLabel: "Try it yourself",
739
+ demoHeadline: "Explore the live demo account.",
740
+ demoSub: "Get hands-on with SumUp. Click through the demo and see how it works for a beauty business like yours β€” no sign-in needed.",
741
+ demoStripText: "Open the demo account",
742
+ demoStripSub: "Explore the platform at your own pace",
743
+ pricingLabel: "Pricing",
744
+ pricingHeadline: "Simple, personalised pricing.",
745
+ pricingSub: "No hidden costs. No commissions. 24/7 Priority Care included on every plan.",
746
+ pricingTag: "Personalised fees",
747
+ pricingAmount: (c) => `Plans starting from ${c}39/month β€” with payment fees from 0.6%.`,
748
+ pricingBody: (c) => `We work with each beauty business individually to find the right plan for your volume and setup. Book a free call and we'll put together a personalised quote tailored to how your business runs.`,
749
+ pp1: "Transparent pricing β€” what you see is what you pay",
750
+ pp2: "No setup fees, no long-term contracts",
751
+ pp3: "24/7 Priority Care included on every plan",
752
+ pricingNote: "Exact fees are confirmed on your free demo call based on your business type and transaction volume.",
753
+ bookLabel: "Ready to talk?",
754
+ bookingTitle: (name) => name ? `Book your free call with ${name}.` : "Book your free call.",
755
+ bookingSectionSub: "No pressure, no commitment. Just a quick 30-minute chat to see if SumUp is the right fit for your business.",
756
+ directRepName: (name) => `Book with ${name}`,
757
+ directRepRole: "SumUp Beauty Specialist",
758
+ directBookBtnText: "Book your free 30-min call",
759
+ directBookNote: "Free cancellation anytime Β· No sign-in required",
760
+ repSelectorLabel: "Choose your SumUp representative",
761
+ repIntroText: "Book a call with",
762
+ bookBtnText: "Book your free 30-min call",
763
+ bookNote: "Free cancellation anytime Β· No sign-in required",
764
+ noRepHint: "Select a representative above to book",
765
+ },
766
+ de: {
767
+ navCta: "Kostenlose Demo buchen β†’",
768
+ repHey: (name) => `Hallo, ich bin ${name} πŸ‘‹`,
769
+ repHeadline: "Deine persΓΆnliche SumUp Beauty Spezialistin.",
770
+ repBody: "Ich habe diese Seite speziell fΓΌr dich zusammengestellt, damit du SumUp in deinem eigenen Tempo entdecken kannst. Schau dich um, prΓΌf die Preise und buche ein GesprΓ€ch, wann immer du bereit bist.",
771
+ repCtaText: "Kostenlose Demo buchen",
772
+ repRole: "SumUp Beauty Spezialistin",
773
+ bookingLabel: "Kernfunktion",
774
+ bookingHeadline: "Smarte Buchungen, die sich selbst verwalten.",
775
+ bookingSub: "Nichterscheinen kostet Beauty-Businesses jedes Jahr Tausende. Das Buchungssystem von SumUp gibt dir die Kontrolle zurΓΌck β€” automatisch.",
776
+ bp1Title: "Online-Buchung rund um die Uhr",
777
+ bp1Body: "Kunden buchen selbst β€” jederzeit, ohne langes Hin-und-Her.",
778
+ bp2Title: "Automatische Erinnerungen",
779
+ bp2Body: "SMS- und E-Mail-Erinnerungen werden automatisch verschickt, um Nichterscheinen zu reduzieren.",
780
+ bp3Title: "Anzahlungen & StornierungsgebΓΌhren",
781
+ bp3Body: "Verlange Anzahlungen im Voraus und berechne StornierungsgebΓΌhren automatisch.",
782
+ bp4Title: "Deine eigene Buchungsseite",
783
+ bp4Body: "Eine gebrandete Seite, die Kunden teilen und speichern kΓΆnnen β€” kein App-Download nΓΆtig.",
784
+ featuresLabel: "Und noch mehr",
785
+ featuresHeadline: "Alles, was dein Business braucht.",
786
+ featuresSub: "SumUp geht ΓΌber Buchungen hinaus β€” und gibt dir das komplette Werkzeug zum Verwalten, Wachsen und Kassieren.",
787
+ f1Title: "Kasse & Zahlungen", f1Body: "Karte, Apple Pay, Google Pay β€” zu wettbewerbsfΓ€higen Konditionen mit Auszahlung am nΓ€chsten Tag.",
788
+ f2Title: "Treueprogramm", f2Body: "Punkte- und Stempelprogramme, um Einmalkunden zu Stammkunden zu machen.",
789
+ f3Title: "Geschenkgutscheine", f3Body: "Digitale Gutscheine, die neue Kunden ohne zusΓ€tzliche Kosten bringen.",
790
+ f4Title: "Sofortkredit", f4Body: "Finanzierung auf Basis deiner UmsΓ€tze β€” automatisch zurΓΌckgezahlt beim Handeln.",
791
+ demoLabel: "Selbst ausprobieren",
792
+ demoHeadline: "Demo-Konto erkunden.",
793
+ demoSub: "Teste SumUp direkt. Klick dich durch die Demo und sieh, wie es fΓΌr ein Beauty-Business wie deins funktioniert β€” kein Login nΓΆtig.",
794
+ demoStripText: "Demo-Konto ΓΆffnen",
795
+ demoStripSub: "Die Plattform in deinem eigenen Tempo erkunden",
796
+ pricingLabel: "Preise",
797
+ pricingHeadline: "Einfache, individuelle Preise.",
798
+ pricingSub: "Keine versteckten Kosten. Keine Provisionen. 24/7 Priority Care in jedem Tarif enthalten.",
799
+ pricingTag: "Individuelle Konditionen",
800
+ pricingAmount: (c) => `Tarife ab ${c}39/Monat β€” mit ZahlungsgebΓΌhren ab 0,6 %.`,
801
+ pricingBody: () => `Wir arbeiten mit jedem Beauty-Business individuell zusammen, um den richtigen Tarif fΓΌr dein Volumen und Setup zu finden. Buche ein kostenloses GesprΓ€ch und wir erstellen dir ein individuelles Angebot.`,
802
+ pp1: "Transparente Preise β€” du zahlst genau das, was du siehst",
803
+ pp2: "Keine EinrichtungsgebΓΌhren, keine LangzeitvertrΓ€ge",
804
+ pp3: "24/7 Priority Care in jedem Tarif enthalten",
805
+ pricingNote: "Genaue Konditionen werden im kostenlosen Demo-GesprΓ€ch basierend auf deinem GeschΓ€ftstyp und Transaktionsvolumen bestΓ€tigt.",
806
+ bookLabel: "Bereit zum GesprΓ€ch?",
807
+ bookingTitle: (name) => name ? `Buche deinen kostenlosen Anruf mit ${name}.` : "Buche deinen kostenlosen Anruf.",
808
+ bookingSectionSub: "Kein Druck, keine Verpflichtung. Nur ein kurzes 30-minΓΌtiges GesprΓ€ch, um zu sehen, ob SumUp das Richtige fΓΌr dein Business ist.",
809
+ directRepName: (name) => `Mit ${name} buchen`,
810
+ directRepRole: "SumUp Beauty Spezialistin",
811
+ directBookBtnText: "Kostenlosen 30-Min-Anruf buchen",
812
+ directBookNote: "Kostenlose Stornierung jederzeit Β· Keine Anmeldung erforderlich",
813
+ repSelectorLabel: "WΓ€hle deinen SumUp-Ansprechpartner",
814
+ repIntroText: "GesprΓ€ch buchen mit",
815
+ bookBtnText: "Kostenlosen 30-Min-Anruf buchen",
816
+ bookNote: "Kostenlose Stornierung jederzeit Β· Keine Anmeldung erforderlich",
817
+ noRepHint: "Bitte oben einen Ansprechpartner auswΓ€hlen",
818
+ },
819
+ it: {
820
+ navCta: "Prenota una demo gratuita β†’",
821
+ repHey: (name) => `Ciao, sono ${name} πŸ‘‹`,
822
+ repHeadline: "Il tuo specialista SumUp Beauty personale.",
823
+ repBody: "Ho preparato questa pagina apposta per te, così puoi esplorare SumUp con i tuoi tempi. Dai un'occhiata, controlla i prezzi e prenota una chiamata quando sei pronto/a.",
824
+ repCtaText: "Prenota una demo gratuita",
825
+ repRole: "Specialista SumUp Beauty",
826
+ bookingLabel: "FunzionalitΓ  principale",
827
+ bookingHeadline: "Prenotazioni intelligenti che si gestiscono da sole.",
828
+ bookingSub: "Le mancate presenze costano alle attivitΓ  beauty migliaia di euro ogni anno. Il sistema di prenotazione SumUp ti rimette in controllo β€” automaticamente.",
829
+ bp1Title: "Prenotazioni online 24/7",
830
+ bp1Body: "I clienti si prenotano da soli in qualsiasi momento β€” niente messaggi avanti e indietro.",
831
+ bp2Title: "Promemoria automatici",
832
+ bp2Body: "Promemoria via SMS ed e-mail inviati automaticamente per ridurre le mancate presenze.",
833
+ bp3Title: "Depositi e penali di cancellazione",
834
+ bp3Body: "Richiedi depositi anticipati e addebita automaticamente le penali per cancellazioni tardive.",
835
+ bp4Title: "La tua pagina di prenotazione",
836
+ bp4Body: "Una pagina brandizzata che i clienti possono condividere e salvare, senza scaricare app.",
837
+ featuresLabel: "E c'Γ¨ molto altro",
838
+ featuresHeadline: "Tutto ciΓ² di cui la tua attivitΓ  ha bisogno.",
839
+ featuresSub: "SumUp va oltre le prenotazioni β€” offrendoti gli strumenti completi per gestire, crescere e incassare.",
840
+ f1Title: "POS e Pagamenti", f1Body: "Carta, Apple Pay, Google Pay β€” a tariffe competitive con accrediti il giorno successivo.",
841
+ f2Title: "Fidelizzazione", f2Body: "Programmi a punti e timbri per trasformare i clienti occasionali in abituali.",
842
+ f3Title: "Gift Card", f3Body: "Gift card digitali che portano nuovi clienti senza costi aggiuntivi.",
843
+ f4Title: "Anticipo in Contanti", f4Body: "Finanziamento basato sulle tue vendite β€” rimborsato automaticamente man mano che lavori.",
844
+ demoLabel: "Provalo tu stesso",
845
+ demoHeadline: "Esplora l'account demo live.",
846
+ demoSub: "Metti mano su SumUp. Naviga nella demo e scopri come funziona per un'attivitΓ  beauty come la tua β€” nessun accesso richiesto.",
847
+ demoStripText: "Apri l'account demo",
848
+ demoStripSub: "Esplora la piattaforma con i tuoi tempi",
849
+ pricingLabel: "Prezzi",
850
+ pricingHeadline: "Prezzi semplici e personalizzati.",
851
+ pricingSub: "Nessun costo nascosto. Nessuna commissione. Assistenza prioritaria 24/7 inclusa in ogni piano.",
852
+ pricingTag: "Tariffe personalizzate",
853
+ pricingAmount: (c) => `Piani a partire da ${c}39/mese β€” con commissioni sui pagamenti dall'0,6%.`,
854
+ pricingBody: () => `Lavoriamo con ogni attivitΓ  beauty individualmente per trovare il piano giusto in base al tuo volume e alla tua configurazione. Prenota una chiamata gratuita e ti prepareremo un preventivo personalizzato.`,
855
+ pp1: "Prezzi trasparenti β€” paghi esattamente quello che vedi",
856
+ pp2: "Nessun costo di attivazione, nessun contratto a lungo termine",
857
+ pp3: "Assistenza prioritaria 24/7 inclusa in ogni piano",
858
+ pricingNote: "Le tariffe esatte vengono confermate durante la chiamata demo gratuita in base al tipo di attivitΓ  e al volume delle transazioni.",
859
+ bookLabel: "Pronto a parlare?",
860
+ bookingTitle: (name) => name ? `Prenota la tua chiamata gratuita con ${name}.` : "Prenota la tua chiamata gratuita.",
861
+ bookingSectionSub: "Nessuna pressione, nessun impegno. Solo una breve chiacchierata di 30 minuti per vedere se SumUp fa al caso tuo.",
862
+ directRepName: (name) => `Prenota con ${name}`,
863
+ directRepRole: "Specialista SumUp Beauty",
864
+ directBookBtnText: "Prenota la tua chiamata gratuita di 30 min",
865
+ directBookNote: "Cancellazione gratuita in qualsiasi momento Β· Nessun accesso richiesto",
866
+ repSelectorLabel: "Scegli il tuo rappresentante SumUp",
867
+ repIntroText: "Prenota una chiamata con",
868
+ bookBtnText: "Prenota la tua chiamata gratuita di 30 min",
869
+ bookNote: "Cancellazione gratuita in qualsiasi momento Β· Nessun accesso richiesto",
870
+ noRepHint: "Seleziona un rappresentante qui sopra per prenotare",
871
+ }
872
+ };
873
+
874
+ // ─────────────────────────────────────────────
875
+ // HELPERS
876
+ // ─────────────────────────────────────────────
877
+ const params = new URLSearchParams(window.location.search);
878
+ const repSlug = (params.get('rep') || '').toLowerCase().trim();
879
  const matchRep = reps.find(r => r.slug === repSlug);
880
 
881
+ // Pick language: from matched rep, fallback to 'en'
882
+ const lang = (matchRep && t[matchRep.lang]) ? matchRep.lang : 'en';
883
+ const tr = t[lang];
884
+ const currency = matchRep ? matchRep.currency : 'Β£';
885
+
886
+ function setText(id, val) {
887
+ const el = document.getElementById(id);
888
+ if (el && val !== undefined) el.textContent = val;
889
+ }
890
+
891
  function setAvatar(el, rep) {
892
  if (rep.photo) {
893
  el.innerHTML = `<img src="${rep.photo}" alt="${rep.name}" style="width:100%;height:100%;object-fit:cover;display:block;" />`;
 
898
  }
899
  }
900
 
901
+ // ─────────────────────────────────────────────
902
+ // APPLY TRANSLATIONS TO STATIC TEXT
903
+ // ─────────────────────────────────────────────
904
+ setText('navCta', tr.navCta);
905
+ setText('bookingLabel', tr.bookingLabel);
906
+ setText('bookingHeadline', tr.bookingHeadline);
907
+ setText('bookingSub', tr.bookingSub);
908
+ setText('bp1Title', tr.bp1Title); setText('bp1Body', tr.bp1Body);
909
+ setText('bp2Title', tr.bp2Title); setText('bp2Body', tr.bp2Body);
910
+ setText('bp3Title', tr.bp3Title); setText('bp3Body', tr.bp3Body);
911
+ setText('bp4Title', tr.bp4Title); setText('bp4Body', tr.bp4Body);
912
+ setText('featuresLabel', tr.featuresLabel);
913
+ setText('featuresHeadline', tr.featuresHeadline);
914
+ setText('featuresSub', tr.featuresSub);
915
+ setText('f1Title', tr.f1Title); setText('f1Body', tr.f1Body);
916
+ setText('f2Title', tr.f2Title); setText('f2Body', tr.f2Body);
917
+ setText('f3Title', tr.f3Title); setText('f3Body', tr.f3Body);
918
+ setText('f4Title', tr.f4Title); setText('f4Body', tr.f4Body);
919
+ setText('demoLabel', tr.demoLabel);
920
+ setText('demoHeadline', tr.demoHeadline);
921
+ setText('demoSub', tr.demoSub);
922
+ setText('demoStripText', tr.demoStripText);
923
+ setText('demoStripSub', tr.demoStripSub);
924
+ setText('pricingLabel', tr.pricingLabel);
925
+ setText('pricingHeadline', tr.pricingHeadline);
926
+ setText('pricingSub', tr.pricingSub);
927
+ setText('pricingTag', tr.pricingTag);
928
+ setText('pricingAmount', tr.pricingAmount(currency));
929
+ setText('pricingBody', tr.pricingBody(currency));
930
+ setText('pp1', tr.pp1); setText('pp2', tr.pp2); setText('pp3', tr.pp3);
931
+ setText('pricingNote', tr.pricingNote);
932
+ setText('bookLabel', tr.bookLabel);
933
+ setText('bookingSectionSub', tr.bookingSectionSub);
934
+ setText('repSelectorLabel', tr.repSelectorLabel);
935
+ setText('repIntroText', tr.repIntroText);
936
+ setText('bookBtnText', tr.bookBtnText);
937
+ setText('bookNote', tr.bookNote);
938
+ setText('noRepHint', tr.noRepHint);
939
+ setText('directBookNote', tr.directBookNote);
940
+ setText('directBookBtnText', tr.directBookBtnText);
941
+
942
+ // ─────────────────────────────────────────────
943
+ // REP-SPECIFIC BEHAVIOUR
944
+ // ─────────────────────────────────────────────
945
  if (matchRep) {
946
+ // Rep intro banner
947
  document.getElementById('repIntroBanner').classList.add('visible');
948
  setAvatar(document.getElementById('repAvatarHero'), matchRep);
949
+ setText('repHey', tr.repHey(matchRep.name));
950
+ setText('repIntroHeadline', tr.repHeadline);
951
+ setText('repIntroBody', tr.repBody);
952
+ setText('repIntroCtaText', tr.repCtaText);
953
  document.getElementById('repIntroCta').href = matchRep.link;
954
 
955
+ // Booking section
956
+ setText('bookingTitle', tr.bookingTitle(matchRep.name));
957
+ setText('directRepName', tr.directRepName(matchRep.name));
958
+ setText('directRepRole', tr.directRepRole);
959
  document.getElementById('repSelector').style.display = 'none';
960
  document.getElementById('directRepBox').style.display = 'flex';
961
  const avatarEl = document.getElementById('directRepAvatar');
962
  setAvatar(avatarEl, matchRep);
963
  avatarEl.style.borderRadius = '50%';
 
964
  document.getElementById('directBookLink').href = matchRep.link;
 
965
 
966
  } else {
967
+ // Default: show rep selector (English, Β£)
968
+ setText('bookingTitle', tr.bookingTitle(null));
969
  const grid = document.getElementById('repGrid');
970
  const ctaArea = document.getElementById('ctaArea');
971
  const noRepHint = document.getElementById('noRepHint');
 
994
  }
995
  </script>
996
  </body>
997
+ </html>