templates/home/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base_public.html.twig' %}
  2. {% block title %}Cassa Clock — Un service de pointage fiable, rapide et pensé pour vous !{% endblock %}
  3. {% block stylesheets %}
  4. <style>
  5. /* Hero */
  6. .hero{position:relative;padding:80px 0 60px;overflow:hidden}
  7. .hero .container-x{position:relative;z-index:2}
  8. .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:99px;background:rgba(255,255,255,.7);border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink-2);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}
  9. .eyebrow .pill{background:var(--grad);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;letter-spacing:.04em;text-transform:uppercase}
  10. .hero h1{font-size:clamp(40px,5.4vw,72px);font-weight:800;margin:24px 0 20px;letter-spacing:-0.035em;color:var(--ink)}
  11. .hero h1 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
  12. .hero .lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:560px}
  13. .hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
  14. .hero-trust{display:flex;align-items:center;gap:14px;margin-top:36px;flex-wrap:wrap}
  15. .avatars{display:flex}
  16. .avatars span{width:34px;height:34px;border-radius:50%;border:2px solid #fff;background:var(--grad);margin-left:-10px;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;box-shadow:var(--shadow-sm)}
  17. .avatars span:first-child{margin-left:0}
  18. .avatars span:nth-child(2){background:linear-gradient(135deg,#F59E0B,#EC4899)}
  19. .avatars span:nth-child(3){background:linear-gradient(135deg,#10B981,#6366F1)}
  20. .avatars span:nth-child(4){background:linear-gradient(135deg,#06B6D4,#8B5CF6)}
  21. .hero-trust .txt{font-size:13.5px;color:var(--muted)}
  22. .hero-trust .stars{color:#F59E0B;letter-spacing:1px}
  23. /* Hero two-column layout */
  24. .hero-wrap{display:grid;grid-template-columns:54% 1fr;gap:64px;align-items:center}
  25. .hero-right{position:relative}
  26. .hero-photo-wrap{position:relative}
  27. .hero-photo-wrap::before{content:"";position:absolute;inset:-12px;border-radius:40px;background:var(--grad);opacity:.18;filter:blur(32px);z-index:0}
  28. .hero-photo{position:relative;z-index:1;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 15%;border-radius:28px;box-shadow:0 40px 80px -20px rgba(99,102,241,.32),0 8px 24px rgba(0,0,0,.1);display:block}
  29. .hero-photo-fallback .hero-photo{background:linear-gradient(155deg,#EEF2FF 0%,#E0E7FF 40%,#FCE7F3 100%)}
  30. .scan-badge{position:absolute;z-index:2;bottom:32px;left:-24px;background:#fff;border-radius:16px;padding:12px 18px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 32px -6px rgba(0,0,0,.15),0 1px 4px rgba(0,0,0,.06);font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}
  31. .scan-badge .s-ic{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,rgba(16,185,129,.14),rgba(99,102,241,.08));color:#10B981;display:grid;place-items:center;font-size:18px;flex-shrink:0}
  32. .scan-badge .s-line{font-size:11px;font-weight:500;color:var(--muted);margin-top:2px}
  33. .qr-float{position:absolute;z-index:2;top:-18px;right:-18px;width:68px;height:68px;background:#fff;border-radius:18px;box-shadow:0 8px 28px -6px rgba(99,102,241,.3),0 1px 4px rgba(0,0,0,.06);display:grid;place-items:center;font-size:28px;color:var(--brand-1)}
  34. /* Hero visual app mock (kept for reference — no longer used in hero) */
  35. .hero-visual{position:relative;margin-top:64px;display:flex;justify-content:center}
  36. .app-frame{width:100%;max-width:1080px;border-radius:24px;padding:10px;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(255,255,255,.4));border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-lg);backdrop-filter:blur(20px);position:relative}
  37. .app-frame::before{content:"";position:absolute;inset:-2px;border-radius:26px;background:var(--grad);z-index:-1;opacity:.4;filter:blur(20px)}
  38. .app-screen{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px -10px rgba(11,11,20,.15)}
  39. .app-topbar{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line-2);background:linear-gradient(180deg,#fff,#FAFAFB)}
  40. .app-topbar .dot{width:11px;height:11px;border-radius:50%;background:#E5E7EB}
  41. .app-topbar .dot.r{background:#EF4444}.app-topbar .dot.y{background:#F59E0B}.app-topbar .dot.g{background:#10B981}
  42. .app-topbar .crumb{font-size:12px;color:var(--muted-2);margin-left:14px}
  43. .app-body{display:grid;grid-template-columns:200px 1fr;min-height:360px}
  44. .app-side{background:#0B0B14;color:#fff;padding:18px 14px}
  45. .app-side .s-brand{font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:18px}
  46. .app-side .s-brand .sd{width:18px;height:18px;border-radius:5px;background:var(--grad)}
  47. .app-side .s-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:12.5px;opacity:.7;margin-bottom:2px}
  48. .app-side .s-item.active{background:rgba(255,255,255,.08);opacity:1;color:#fff}
  49. .app-side .s-item i{font-size:14px}
  50. .app-main{padding:22px 24px;background:#FAFAFB}
  51. .app-main .h{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
  52. .app-main .h h4{font-size:16px;color:var(--ink)}
  53. .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
  54. .kpi{background:#fff;border:1px solid var(--line-2);border-radius:12px;padding:14px 16px}
  55. .kpi .l{font-size:11px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
  56. .kpi .v{font-size:20px;font-weight:700;margin-top:4px;color:var(--ink)}
  57. .kpi .d{font-size:11px;color:#10B981;margin-top:4px;font-weight:600}
  58. .kpi .d.r{color:#EF4444}
  59. .chart{background:#fff;border:1px solid var(--line-2);border-radius:12px;padding:16px;height:160px;position:relative;overflow:hidden}
  60. .chart svg{width:100%;height:100%}
  61. /* Trusted logos */
  62. .trusted{padding:40px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:#fff}
  63. .trusted-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
  64. .trusted-row .lbl{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);font-weight:600}
  65. .trusted-row .logos{display:flex;gap:36px;flex-wrap:wrap;opacity:.7}
  66. .trusted-row .logos span{font-family:'Sora';font-weight:700;font-size:18px;color:var(--ink-2);opacity:.6}
  67. /* Features */
  68. .feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  69. .feat{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:28px;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;position:relative;overflow:hidden}
  70. .feat:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line)}
  71. .feat .ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--grad-soft);color:var(--brand-1);font-size:22px;margin-bottom:18px}
  72. .feat:nth-child(2) .ic{background:linear-gradient(135deg,rgba(245,158,11,.15),rgba(236,72,153,.15));color:#F59E0B}
  73. .feat:nth-child(3) .ic{background:linear-gradient(135deg,rgba(16,185,129,.15),rgba(99,102,241,.15));color:#10B981}
  74. .feat:nth-child(4) .ic{background:linear-gradient(135deg,rgba(236,72,153,.15),rgba(139,92,246,.15));color:#EC4899}
  75. .feat:nth-child(5) .ic{background:linear-gradient(135deg,rgba(6,182,212,.15),rgba(139,92,246,.15));color:#06B6D4}
  76. .feat:nth-child(6) .ic{background:linear-gradient(135deg,rgba(139,92,246,.15),rgba(99,102,241,.15));color:#8B5CF6}
  77. .feat h3{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--ink);font-family:'Inter';letter-spacing:-0.01em}
  78. .feat p{font-size:14.5px;line-height:1.6}
  79. /* Showcase */
  80. .showcase{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
  81. .showcase-img{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/4.6;background:linear-gradient(135deg,#EEF2FF,#FCE7F3);display:grid;place-items:center}
  82. .showcase-img::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%, rgba(255,255,255,.5), transparent 60%)}
  83. .showcase-img .mock{position:relative;z-index:2;width:78%;background:#fff;border-radius:18px;padding:18px;box-shadow:0 30px 60px -20px rgba(99,102,241,.4)}
  84. .mock .mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
  85. .mock .mh .ttl{font-weight:700;font-size:14px;color:var(--ink)}
  86. .mock .mh .tag{font-size:10px;background:var(--grad);color:#fff;padding:3px 8px;border-radius:99px;font-weight:600}
  87. .mock-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line-2);font-size:13px}
  88. .mock-row:last-child{border:0}
  89. .mock-row .name{display:flex;align-items:center;gap:10px;color:var(--ink-2)}
  90. .mock-row .name .a{width:28px;height:28px;border-radius:8px;background:var(--grad-soft);display:grid;place-items:center;color:var(--brand-1);font-size:11px;font-weight:700}
  91. .mock-row .stat{font-size:11px;padding:3px 8px;border-radius:99px;background:rgba(16,185,129,.12);color:#059669;font-weight:600}
  92. .mock-row .stat.l{background:rgba(245,158,11,.12);color:#D97706}
  93. .showcase-content h2{font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-0.03em;margin-bottom:18px;color:var(--ink)}
  94. .showcase-content p{font-size:16px;color:var(--muted);margin-bottom:14px}
  95. .value-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;padding:0}
  96. .value-list li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--ink-2);font-weight:500;list-style:none}
  97. .value-list .check{width:22px;height:22px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;font-size:11px;flex-shrink:0}
  98. /* Steps */
  99. .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
  100. .step{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:28px 24px;position:relative;transition:all .25s}
  101. .step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  102. .step-n{width:42px;height:42px;border-radius:12px;background:var(--grad);color:#fff;font-weight:800;display:grid;place-items:center;font-size:18px;font-family:'Sora';margin-bottom:18px;box-shadow:0 8px 20px -6px rgba(99,102,241,.5)}
  103. .step h3{font-size:17px;font-weight:700;color:var(--ink);font-family:'Inter';letter-spacing:-0.01em;margin-bottom:8px}
  104. .step p{font-size:14px;line-height:1.55}
  105. /* Pricing */
  106. .pricing{background:linear-gradient(180deg,#FAFAFB 0%,#fff 100%)}
  107. .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
  108. .price{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-xl);padding:36px 32px;position:relative;transition:all .25s;display:flex;flex-direction:column}
  109. .price:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
  110. .price.popular{background:linear-gradient(180deg,#0B0B14 0%,#1B1B28 100%);color:#fff;border-color:transparent;box-shadow:var(--shadow-lg);transform:scale(1.02)}
  111. .price.popular::before{content:"⭐ Le plus populaire";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--grad);color:#fff;font-size:12px;font-weight:700;padding:6px 14px;border-radius:99px;letter-spacing:.02em;box-shadow:0 8px 20px -6px rgba(236,72,153,.6)}
  112. .price h3{font-size:18px;font-weight:700;font-family:'Inter';letter-spacing:-0.01em;color:inherit}
  113. .price .desc{font-size:14px;margin-top:6px;margin-bottom:24px;color:var(--muted)}
  114. .price.popular .desc{color:rgba(255,255,255,.65)}
  115. .price .amount{font-family:'Sora';font-size:46px;font-weight:800;letter-spacing:-0.04em;line-height:1}
  116. .price .per{font-size:14px;color:var(--muted);font-weight:500;margin-left:4px}
  117. .price.popular .per{color:rgba(255,255,255,.6)}
  118. .price ul{list-style:none;padding:0;margin:24px 0 28px;display:flex;flex-direction:column;gap:12px}
  119. .price li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--ink-2)}
  120. .price.popular li{color:rgba(255,255,255,.85)}
  121. .price li .ck{width:20px;height:20px;border-radius:50%;background:rgba(99,102,241,.12);color:var(--brand-1);display:grid;place-items:center;font-size:11px;flex-shrink:0;margin-top:2px}
  122. .price.popular li .ck{background:rgba(236,72,153,.2);color:#F472B6}
  123. .price .btn-x{margin-top:auto;width:100%;justify-content:center;padding:13px 20px}
  124. /* CTA */
  125. .cta-section{padding:48px 0 96px}
  126. .cta-box{position:relative;overflow:hidden;background:linear-gradient(135deg,#0B0B14 0%,#1B1B28 60%, #4C1D95 100%);color:#fff;border-radius:var(--r-xl);padding:72px 56px;text-align:center;box-shadow:var(--shadow-lg)}
  127. .cta-box::before{content:"";position:absolute;width:520px;height:520px;background:radial-gradient(circle, rgba(236,72,153,.4), transparent 60%);top:-200px;right:-150px;border-radius:50%}
  128. .cta-box::after{content:"";position:absolute;width:420px;height:420px;background:radial-gradient(circle, rgba(99,102,241,.45), transparent 60%);bottom:-200px;left:-100px;border-radius:50%}
  129. .cta-box > *{position:relative;z-index:2}
  130. .cta-box h2{font-size:clamp(30px,3.5vw,46px);font-weight:700;letter-spacing:-0.03em;margin-bottom:18px;color:#fff}
  131. .cta-box p{font-size:17px;color:rgba(255,255,255,.75);max-width:540px;margin:0 auto 32px}
  132. .cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  133. @media (max-width: 980px){
  134.   .hero-wrap{grid-template-columns:1fr;gap:40px}
  135.   .hero-right{max-width:420px;margin:0 auto}
  136.   .feat-grid,.steps,.price-grid{grid-template-columns:1fr 1fr}
  137.   .showcase{grid-template-columns:1fr;gap:40px}
  138.   .app-body{grid-template-columns:1fr}
  139.   .app-side{display:none}
  140. }
  141. @media (max-width: 620px){
  142.   .feat-grid,.steps,.price-grid{grid-template-columns:1fr}
  143.   .price.popular{transform:none}
  144.   .hero{padding:48px 0 32px}
  145.   .cta-box{padding:48px 24px}
  146.   .kpis{grid-template-columns:1fr 1fr}
  147.   .value-list{grid-template-columns:1fr}
  148.   .scan-badge{left:-8px;bottom:20px}
  149.   .qr-float{top:-10px;right:-10px;width:54px;height:54px;font-size:22px}
  150. }
  151. </style>
  152. {% endblock %}
  153. {% block body %}
  154. <section class="hero" id="home">
  155.   <div class="bg-grid"></div>
  156.   <div class="blob b1"></div>
  157.   <div class="blob b2"></div>
  158.   <div class="container-x hero-wrap">
  159.     {# ── Colonne gauche : texte ── #}
  160.     <div class="fade-up">
  161.       <span class="eyebrow">
  162.         <span class="pill">Nouveau</span>
  163.         Gestion de congé et de paie automatisée disponible
  164.       </span>
  165.       <h1>
  166.         Le pointage <span class="grad">réinventé</span><br>
  167.         pour les équipes modernes.
  168.       </h1>
  169.       <p class="lead">
  170.         Cassa Clock simplifie la gestion du temps, des congés et de la paie de vos
  171.         collaborateurs — du QR code sur site à la fiche de paie générée automatiquement.
  172.       </p>
  173.       <div class="hero-actions">
  174.         <a class="btn-x btn-grad" href="{{ path('company_wizard') }}">Commencer gratuitement <i class="bi bi-arrow-right"></i></a>
  175.         <a class="btn-x btn-ghost" href="#comment-ca-marche"><i class="bi bi-play-circle"></i> En savoir plus</a>
  176.       </div>
  177.       <div class="hero-trust">
  178.         <div class="avatars">
  179.           <span>AD</span><span>FN</span><span>MK</span><span>SY</span>
  180.         </div>
  181.         <div>
  182.           <div class="stars">★★★★★</div>
  183.           <div class="txt"><b style="color:var(--ink-2)">plusieurs entreprises</b> nous font confiance</div>
  184.         </div>
  185.       </div>
  186.     </div>
  187.     {# ── Colonne droite : photo employé ── #}
  188.     <div class="hero-right fade-up" style="animation-delay:.15s">
  189.       <div class="hero-photo-wrap" id="heroPhotoWrap">
  190.         <img
  191.           class="hero-photo"
  192.           src="{{ asset('images/hero-employee.jpg') }}"
  193.           alt="Employé africain scannant un QR code devant son entreprise"
  194.           onerror="document.getElementById('heroPhotoWrap').classList.add('hero-photo-fallback')"
  195.         >
  196.         {# Badge flottant "Pointage validé" #}
  197.         <div class="scan-badge">
  198.           <span class="s-ic"><i class="bi bi-check2-circle"></i></span>
  199.           <div>
  200.             <div>Pointage validé</div>
  201.             <div class="s-line">08:04 — Aujourd'hui</div>
  202.           </div>
  203.         </div>
  204.         {# Icône QR Code flottante #}
  205.         <div class="qr-float"><i class="bi bi-qr-code-scan"></i></div>
  206.       </div>
  207.     </div>
  208.   </div>
  209. </section>
  210. <section class="sec" id="features">
  211.   <div class="container-x">
  212.     <div class="sec-head fade-up">
  213.       <span class="sec-eyebrow">Nos atouts</span>
  214.       <h2 class="sec-title">Tout ce qu'il faut pour piloter vos équipes.</h2>
  215.       <p class="sec-lead">Une plateforme moderne, sécurisée et intuitive — du pointage à la paie, sans friction.</p>
  216.     </div>
  217.     <div class="feat-grid">
  218.       <div class="feat fade-up">
  219.         <div class="ic"><i class="bi bi-qr-code-scan"></i></div>
  220.         <h3>Pointage par QR Code</h3>
  221.         <p>Scan instantané sur smartphone. Multi-sites, géolocalisé, anti-fraude.</p>
  222.       </div>
  223.       <div class="feat fade-up">
  224.         <div class="ic"><i class="bi bi-graph-up-arrow"></i></div>
  225.         <h3>Rapports temps réel</h3>
  226.         <p>Tableaux de bord clairs, exports PDF/Excel, suivi des coûts par équipe.</p>
  227.       </div>
  228.       <div class="feat fade-up">
  229.         <div class="ic"><i class="bi bi-shield-check"></i></div>
  230.         <h3>Sécurité bancaire</h3>
  231.         <p>Chiffrement bout-en-bout, hébergement souverain, conformité RGPD.</p>
  232.       </div>
  233.       <div class="feat fade-up">
  234.         <div class="ic"><i class="bi bi-cash-stack"></i></div>
  235.         <h3>Paie automatisée</h3>
  236.         <p>Génération des fiches de paie à partir des pointages, en un clic.</p>
  237.       </div>
  238.       <div class="feat fade-up">
  239.         <div class="ic"><i class="bi bi-calendar-heart"></i></div>
  240.         <h3>Gestion des congés</h3>
  241.         <p>Demandes, validations, soldes, calendrier d'équipe — tout est centralisé.</p>
  242.       </div>
  243.       <div class="feat fade-up">
  244.         <div class="ic"><i class="bi bi-headset"></i></div>
  245.         <h3>Support 24/7</h3>
  246.         <p>Une équipe humaine disponible via WhatsApp, email et téléphone.</p>
  247.       </div>
  248.     </div>
  249.   </div>
  250. </section>
  251. <section class="sec" id="apropos" style="background:#fff;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)">
  252.   <div class="container-x">
  253.     <div class="showcase">
  254.       <div class="showcase-img fade-up">
  255.         <div class="mock">
  256.           <div class="mh">
  257.             <div class="ttl">Pointages du jour</div>
  258.             <span class="tag">Live</span>
  259.           </div>
  260.           <div class="mock-row"><div class="name"><span class="a">AD</span> Aïssatou Diop</div><span class="stat">Présente 08:02</span></div>
  261.           <div class="mock-row"><div class="name"><span class="a">MN</span> Modou Ndiaye</div><span class="stat">Présent 07:58</span></div>
  262.           <div class="mock-row"><div class="name"><span class="a">FK</span> Fatou Ka</div><span class="stat l">Retard 08:21</span></div>
  263.           <div class="mock-row"><div class="name"><span class="a">SY</span> Sokhna Y.</div><span class="stat">Présente 07:55</span></div>
  264.         </div>
  265.       </div>
  266.       <div class="showcase-content fade-up">
  267.         <span class="sec-eyebrow">Qui sommes-nous ?</span>
  268.         <h2>Le futur du suivi de pointage, sécurisé et simple.</h2>
  269.         <p>Cassa Clock est une solution innovante de gestion du temps adaptée aux entreprises au Sénégal et en Afrique. Notre plateforme moderne suit efficacement la présence et les horaires de vos équipes.</p>
  270.         <p>Sécurité, fluidité et simplicité — pour vous permettre de maîtriser la ponctualité de vos collaborateurs en toute sérénité.</p>
  271.         <ul class="value-list">
  272.           <li><span class="check"><i class="bi bi-check2"></i></span> Innovation</li>
  273.           <li><span class="check"><i class="bi bi-check2"></i></span> Sécurité</li>
  274.           <li><span class="check"><i class="bi bi-check2"></i></span> Transparence</li>
  275.           <li><span class="check"><i class="bi bi-check2"></i></span> Fiabilité</li>
  276.         </ul>
  277.       </div>
  278.     </div>
  279.   </div>
  280. </section>
  281. <section class="sec" id="comment-ca-marche">
  282.   <div class="container-x">
  283.     <div class="sec-head fade-up">
  284.       <span class="sec-eyebrow">Comment ça marche</span>
  285.       <h2 class="sec-title">Quatre étapes. Quelques minutes.</h2>
  286.       <p class="sec-lead">Démarrer avec Cassa Clock est plus rapide que de configurer une pointeuse classique.</p>
  287.     </div>
  288.     <div class="steps">
  289.       <div class="step fade-up">
  290.         <div class="step-n">1</div>
  291.         <h3>Inscription</h3>
  292.         <p>Créez votre compte en 2 minutes. Aucune carte bancaire requise pour démarrer.</p>
  293.       </div>
  294.       <div class="step fade-up">
  295.         <div class="step-n">2</div>
  296.         <h3>Configuration</h3>
  297.         <p>Importez vos employés, créez vos sites et générez vos QR codes.</p>
  298.       </div>
  299.       <div class="step fade-up">
  300.         <div class="step-n">3</div>
  301.         <h3>Abonnement</h3>
  302.         <p>Choisissez la formule adaptée à votre équipe et activez les modules désirés.</p>
  303.       </div>
  304.       <div class="step fade-up">
  305.         <div class="step-n">4</div>
  306.         <h3>Pilotage</h3>
  307.         <p>Suivez en temps réel, exportez vos rapports, automatisez votre paie.</p>
  308.       </div>
  309.     </div>
  310.   </div>
  311. </section>
  312. <section class="sec pricing" id="pricing">
  313.   <div class="container-x">
  314.     <div class="sec-head fade-up">
  315.       <span class="sec-eyebrow">Tarifs simples</span>
  316.       <h2 class="sec-title">Une formule pour chaque taille d'équipe.</h2>
  317.       <p class="sec-lead">Pas de frais cachés. Annulation à tout moment. 14 jours d'essai gratuit.</p>
  318.     </div>
  319.     <div class="price-grid">
  320.       <div class="price fade-up">
  321.         <h3>Xéweul</h3>
  322.         <p class="desc">Pour les petites équipes qui démarrent.</p>
  323.         <div><span class="amount">12k</span><span class="per">FCFA / mois</span></div>
  324.         <ul>
  325.           <li><span class="ck"><i class="bi bi-check2"></i></span> Jusqu'à 10 employés</li>
  326.           <li><span class="ck"><i class="bi bi-check2"></i></span> Rapports journaliers</li>
  327.           <li><span class="ck"><i class="bi bi-check2"></i></span> Multi-sièges</li>
  328.           <li><span class="ck"><i class="bi bi-check2"></i></span> Support standard</li>
  329.         </ul>
  330.         <a class="btn-x btn-ghost" href="{{ path('souscription_new') }}">Choisir Xéweul</a>
  331.       </div>
  332.       <div class="price popular fade-up">
  333.         <h3>Business</h3>
  334.         <p class="desc">Pour les entreprises en croissance.</p>
  335.         <div><span class="amount">20k</span><span class="per">FCFA / mois</span></div>
  336.         <ul>
  337.           <li><span class="ck"><i class="bi bi-check2"></i></span> Jusqu'à 50 employés</li>
  338.           <li><span class="ck"><i class="bi bi-check2"></i></span> Rapports personnalisés</li>
  339.           <li><span class="ck"><i class="bi bi-check2"></i></span> Multi-sièges illimités</li>
  340.           <li><span class="ck"><i class="bi bi-check2"></i></span> Support prioritaire</li>
  341.           <li><span class="ck"><i class="bi bi-check2"></i></span> Module paie inclus</li>
  342.         </ul>
  343.         <a class="btn-x btn-grad" href="{{ path('souscription_new') }}">Choisir Business</a>
  344.       </div>
  345.       <div class="price fade-up">
  346.         <h3>Premium</h3>
  347.         <p class="desc">Pour les organisations établies.</p>
  348.         <div><span class="amount">35k</span><span class="per">FCFA / mois</span></div>
  349.         <ul>
  350.           <li><span class="ck"><i class="bi bi-check2"></i></span> Jusqu'à 150 employés</li>
  351.           <li><span class="ck"><i class="bi bi-check2"></i></span> Dashboard avancé</li>
  352.           <li><span class="ck"><i class="bi bi-check2"></i></span> Support 24/7</li>
  353.           <li><span class="ck"><i class="bi bi-check2"></i></span> API & intégrations</li>
  354.         </ul>
  355.         <a class="btn-x btn-ghost" href="{{ path('souscription_new') }}">Choisir Premium</a>
  356.       </div>
  357.     </div>
  358.   </div>
  359. </section>
  360. <div class="cta-section">
  361.   <div class="container-x">
  362.     <div class="cta-box fade-up">
  363.       <h2>Prêt à digitaliser votre pointage ?</h2>
  364.       <p>Rejoignez les entreprises qui ont fait le choix de la simplicité. 14 jours d'essai gratuit, sans engagement.</p>
  365.       <div class="cta-actions">
  366.         <a class="btn-x btn-white" href="{{ path('company_wizard') }}">Démarrer gratuitement <i class="bi bi-arrow-right"></i></a>
  367.         <a class="btn-x btn-ghost" style="border-color:rgba(255,255,255,.25);color:#fff" href="{{ path('contact') }}"><i class="bi bi-chat-dots"></i> Parler à un expert</a>
  368.       </div>
  369.     </div>
  370.   </div>
  371. </div>
  372. {% endblock %}