PageSourceSearch

https://holofin.ai/contact/

html holofin.ai collected 2026-10-05 14:11:55 UTC 120,361 bytes, 693 lines download raw bytes

1
2
3<!DOCTYPE html><html lang="en" class="bg-curious-blue-950"><head><title>Contact - Holofin</title><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- SEO Meta Tags --><meta name="description" content="Get in touch with the Holofin team. Questions about AI document processing, enterprise plans, or partnerships — we'd love to hear from you."><meta name="keywords" content="document AI, document processing, document classification, data extraction, OCR, document automation, AI extraction, document analysis"><meta name="author" content="Holofin"><meta name="robots" content="index, follow"><link rel="canonical" href="https://holofin.ai/contact/"><link rel="alternate" hreflang="en" href="https://holofin.ai/contact/"><link rel="alternate" hreflang="fr" href="https://holofin.ai/fr/contact/"><link rel="alternate" hreflang="es" href="https://holofin.ai/es/contact/"><link rel="alternate" hreflang="de" href="https://holofin.ai/de/contact/"><link rel="alternate" hreflang="it" href="https://holofin.ai/it/contact/"><link rel="alternate" hreflang="x-default" href="https://holofin.ai/contact/"><!-- Open Graph Meta Tags for Social Media --><meta property="og:type" content="website"><meta property="og:title" content="Contact - Holofin"><meta property="og:description" content="Contact the Holofin team for questions about AI document processing, enterprise plans, or partnership opportunities."><meta property="og:image" content="/static/img/og-image.9892c42939df.png"><meta property="og:url" content="https://holofin.ai/contact/"><meta property="og:site_name" content="Holofin"><meta property="og:locale" content="en_US"><meta property="og:locale:alternate" content="en_US"><meta property="og:locale:alternate" content="fr_FR"><meta property="og:locale:alternate" content="es_ES"><meta property="og:locale:alternate" content="de_DE"><meta property="og:locale:alternate" content="it_IT"><!-- Twitter Card Meta Tags --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Holofin - AI-Powered Document Processing"><meta name="twitter:description" content="Transform your document workflow with AI. Classify, extract, and analyze any document type with enterprise-grade accuracy."><meta name="twitter:site" content="@holofin_ai"><meta name="twitter:creator" content="@holofin_ai"><!-- Additional Meta Tags --><meta name="theme-color" content="#0066CC"><meta name="application-name" content="Holofin"><meta name="apple-mobile-web-app-title" content="Holofin"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="default"><!-- Schema.org JSON-LD structured data --><!-- Page-specific structured data (SoftwareApplication on the homepage,
4           BlogPosting on blog posts). Generic pages emit only the Organization
5           block below — they are not SoftwareApplications, so claiming so (and
6           the aggregateRating it requires) would be invalid markup. -->
6<script type="application/ld+json">
7      {
8        "@context": "https://schema.org",
9        "@type": "Organization",
10        "name": "Holofin",
11        "legalName": "Holofin SAS",
12        "url": "https://holofin.ai",
13        "logo": "https://holofin.ai/static/img/og-image.9892c42939df.png",
14        "description": "AI-powered document processing platform for classifying, extracting, and analyzing any document type with enterprise-grade accuracy.",
15        "foundingDate": "2023",
16        "sameAs": [
17          "https://twitter.com/holofin_ai",
18          "https://www.linkedin.com/company/holofin-ai"
19        ],
20        "contactPoint": {
21          "@type": "ContactPoint",
22          "email": "[email protected]",
23          "contactType": "sales",
24          "availableLanguage": ["English", "French", "German"]
25        },
26        "address": {
27          "@type": "PostalAddress",
28          "addressCountry": "FR"
29        },
30        "knowsLanguage": ["en", "fr", "de", "es"]
31      }
32      </script>
32<script type="application/ld+json">
33{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://holofin.ai/"},{"@type":"ListItem","position":2,"name":"Contact","item":"https://holofin.ai/contact/"}]}
34</script>
34<!-- favicons --><link rel="icon" href="/static/img/favicon/favicon.ded6cbd4535b.ico" sizes="any"><link rel="apple-touch-icon" href="/static/img/favicon/apple-touch-icon.4871ff8c2221.png"><link rel="manifest" href="/static/img/favicon/site.c1ab906ed197.webmanifest"><!-- fonts --><!-- Preload critical fonts --><link rel="preload" href="/static/fonts/base_fg.1d1721cb54eb.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/static/fonts/base_fg_light.07640101dfdd.woff2" as="font" type="font/woff2" crossorigin><link rel="stylesheet" href="https://use.typekit.net/gjj7ciq.css"><style type="text/css">@font-face {font-family:'Lato';font-style:normal;font-weight:100;src:url(/cf-fonts/s/lato/5.2.7/latin/100/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Lato';font-style:normal;font-weight:100;src:url(/cf-fonts/s/lato/5.2.7/latin-ext/100/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Lato';font-style:normal;font-weight:300;src:url(/cf-fonts/s/lato/5.2.7/latin/300/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Lato';font-style:normal;font-weight:300;src:url(/cf-fonts/s/lato/5.2.7/latin-ext/300/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Lato';font-style:normal;font-weight:400;src:url(/cf-fonts/s/lato/5.2.7/latin/400/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Lato';font-style:normal;font-weight:400;src:url(/cf-fonts/s/lato/5.2.7/latin-ext/400/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Lato';font-style:normal;font-weight:700;src:url(/cf-fonts/s/lato/5.2.7/latin-ext/700/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Lato';font-style:normal;font-weight:700;src:url(/cf-fonts/s/lato/5.2.7/latin/700/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Lato';font-style:normal;font-weight:900;src:url(/cf-fonts/s/lato/5.2.7/latin-ext/900/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Lato';font-style:normal;font-weight:900;src:url(/cf-fonts/s/lato/5.2.7/latin/900/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Lato';font-style:italic;font-weight:100;src:url(/cf-fonts/s/lato/5.2.7/latin/100/italic.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Lato';font-style:italic;font-weight:100;src:url(/cf-fonts/s/lato/5.2.7/latin-ext/100/italic.woff2);
34unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Lato';font-style:italic;font-weight:300;src:url(/cf-fonts/s/lato/5.2.7/latin-ext/300/italic.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Lato';font-style:italic;font-weight:300;src:url(/cf-fonts/s/lato/5.2.7/latin/300/italic.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Lato';font-style:italic;font-weight:400;src:url(/cf-fonts/s/lato/5.2.7/latin/400/italic.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Lato';font-style:italic;font-weight:400;src:url(/cf-fonts/s/lato/5.2.7/latin-ext/400/italic.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Lato';font-style:italic;font-weight:700;src:url(/cf-fonts/s/lato/5.2.7/latin-ext/700/italic.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Lato';font-style:italic;font-weight:700;src:url(/cf-fonts/s/lato/5.2.7/latin/700/italic.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Lato';font-style:italic;font-weight:900;src:url(/cf-fonts/s/lato/5.2.7/latin/900/italic.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Lato';font-style:italic;font-weight:900;src:url(/cf-fonts/s/lato/5.2.7/latin-ext/900/italic.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Playfair Display';font-style:normal;font-weight:400 900;src:url(/cf-fonts/v/playfair-display/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Playfair Display';font-style:normal;font-weight:400 900;src:url(/cf-fonts/v/playfair-display/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Playfair Display';font-style:normal;font-weight:400 900;src:url(/cf-fonts/v/playfair-display/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Playfair Display';font-style:normal;font-weight:400 900;src:url(/cf-fonts/v/playfair-display/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Playfair Display';font-style:italic;font-weight:400 900;src:url(/cf-fonts/v/playfair-display/5.2.8/latin-ext/wght/italic.woff2);
34unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Playfair Display';font-style:italic;font-weight:400 900;src:url(/cf-fonts/v/playfair-display/5.2.8/cyrillic/wght/italic.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Playfair Display';font-style:italic;font-weight:400 900;src:url(/cf-fonts/v/playfair-display/5.2.8/vietnamese/wght/italic.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Playfair Display';font-style:italic;font-weight:400 900;src:url(/cf-fonts/v/playfair-display/5.2.8/latin/wght/italic.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}</style><!-- Highlight.js GitHub Theme (Light) for blog code blocks --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/github.min.css"><!-- HTMX first -->
34<script src="/static/js/htmx.min.ce69cfad6c3a.js"></script>
34<!-- Alpine.js Collapse plugin (must load before Alpine) -->
34<script src="https://cdn.jsdelivr.net/npm/@alpinejs/[email protected]/dist/cdn.min.js" defer></script>
34<!-- Alpine.js from CDN with defer -->
34<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/cdn.min.js" defer></script>
34<script src="/static/js/common.34af32fd574d.js" type="module" defer></script>
34<script src="/static/dist/main.bundle.51fd80303a9b.js" defer></script>
34<!-- Highlight.js Core and Languages (loaded globally for blog) -->
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/python.min.js"></script>
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/javascript.min.js"></script>
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/json.min.js"></script>
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/bash.min.js"></script>
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/yaml.min.js"></script>
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/markdown.min.js"></script>
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/sql.min.js"></script>
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/css.min.js"></script>
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/typescript.min.js"></script>
34<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/languages/xml.min.js"></script>
34<script defer src="https://umami.holofin.ai/script.js"
35                data-website-id="c307dd28-b6e1-4169-8dab-c6fd2acaaf69"></script>
35<script>
36        (function(ss,ex){ window.ldfdr=window.ldfdr||function(){(ldfdr._q=ldfdr._q||[]).push([].slice.call(arguments));}; (function(d,s){ fs=d.getElementsByTagName(s)[0]; function ce(src){ var cs=d.createElement(s); cs.src=src; cs.async=1; fs.parentNode.insertBefore(cs,fs); }; ce('https://sc.lfeeder.com/lftracker_v1_'+ss+(ex?'_'+ex:'')+'.js'); })(document,'script'); })('kn9Eq4R3bkxaRlvP');
37        </script>
37<style>
38          
39          .async-hide { opacity: 0 !important}
40          [x-cloak] { display: none !important }
41
42          
43          body.fonts-loading {
44            /* Keep body visible to show backgrounds */
45          }
46
47          body.fonts-loaded {
48            /* Body is always visible */
49          }
50
51          /* Page load animation for content elements */
52          .hero-content {
53            opacity: 0;
54            transform: translateY(20px);
55          }
56
57          .hero-content-delayed {
58            opacity: 0;
59            transform: translateY(20px);
60          }
61
62          /* Animation when fonts are loaded or after timeout */
63          body.fonts-loaded .hero-content,
64          .hero-content.animate-in {
65            opacity: 1;
66            transform: translateY(0);
67            transition: opacity 0.5s ease-out, transform 0.5s ease-out;
68          }
69
70          body.fonts-loaded .hero-content-delayed,
71          .hero-content-delayed.animate-in {
72            opacity: 1;
73            transform: translateY(0);
74            transition: opacity 0.5s ease-out 0.2s, transform 0.5s ease-out 0.2s;
75          }
76
77          /* Ensure body is visible after load even if JS fails */
78
79
80          @keyframes fadeIn {
81            to {
82              opacity: 1;
83              visibility: visible;
84            }
85          }
86        </style><style>
87  .form-topic-row { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }
88</style><!-- AOS - Animate On Scroll Library --><link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css" />
88<script>
89        !function(e){"use strict";var t=e&&e.namespace;if(t&&e.profileId&&e.cdn){var i=window[t];if(i&&Array.isArray(i)||(i=window[t]=[]),!i.initialized&&!i._loaded)if(i._loaded)console&&console.warn("[Radar] Duplicate initialization attempted");else{i._loaded=!0;["track","page","identify","group","alias","ready","debug","on","off","once","trackClick","trackSubmit","trackLink","trackForm","pageview","screen","reset","register","setAnonymousId","addSourceMiddleware","addIntegrationMiddleware","addDestinationMiddleware","giveCookieConsent"].forEach((function(e){var a;i[e]=(a=e,function(){var e=window[t];if(e.initialized)return e[a].apply(e,arguments);var i=[].slice.call(arguments);return i.unshift(a),e.push(i),e})})),-1===e.apiEndpoint.indexOf("http")&&(e.apiEndpoint="https://"+e.apiEndpoint),i.bootstrap=function(){var t,i=document.createElement("script");i.async=!0,i.type="text/javascript",i.id="__radar__",i.setAttribute("data-settings",JSON.stringify(e)),i.src=[-1!==(t=e.cdn).indexOf("http")?"":"https://",t,"/releases/latest/radar.min.js"].join("");var a=document.scripts[0];a.parentNode.insertBefore(i,a)},i.bootstrap()}}else"undefined"!=typeof console&&console.error("[Radar] Configuration incomplete")}({
90          "apiEndpoint": "radar.snitcher.com",
91          "cdn": "cdn.snitcher.com",
92          "namespace": "Snitcher",
93          "profileId": "s17fzdSRwz"
94        });
95      </script>
95<script>
96          document.addEventListener('DOMContentLoaded', function() {
97          // Font loading detection and animation trigger
98            // Trigger animations immediately for better UX
99            setTimeout(function() {
100              document.body.classList.add('fonts-loaded');
101              // Also add animate-in class to all elements as fallback
102              var elements = document.querySelectorAll('.hero-content, .hero-content-delayed');
103              elements.forEach(function(el) {
104                el.classList.add('animate-in');
105              });
106            }, 100); // Small delay to ensure content is rendered
107
108            // Still check fonts but don't block animations on them
109            if ('fonts' in document) {
110              Promise.all([
111                document.fonts.load('1em Quicksand'),
112                document.fonts.load('1em Mulish'),
113                document.fonts.load('1em Inter')
114              ]).then(function() {
115                document.body.classList.add('fonts-loaded');
116              }).catch(function() {
117                document.body.classList.add('fonts-loaded');
118              });
119
120              document.fonts.ready.then(function() {
121                document.body.classList.add('fonts-loaded');
122              });
123            }
124          });
125        </script>
125<link rel="stylesheet" type="text/css" href="/static/css/dist/styles.84493a8fc1a7.css"></head><body class="flex flex-col min-h-screen bg-white "
126          style=""
127          hx-headers='{"X-CSRFToken": "q5mO4vb9RDa1INyerDdBUU8Z4W335BYH2j4GZfL09KGDFfvFcNFhzczhwcqzjbwV"}'><header
128    class="sticky top-0 z-50 bg-white shadow-sm"
129    x-data="{ mobileMenuOpen: false }"><!-- Mobile Header --><div class="lg:hidden"><nav class="flex relative justify-center items-center px-6 h-16" aria-label="Mobile Global"><!-- Mobile Left Icon --><div class="flex absolute top-0 bottom-0 left-6 gap-x-2 items-center"><a href="https://app.holofin.ai/auth/login/" class="text-gray-900 hover:text-gray-700"><span class="sr-only">User Account</span><img src="/static/img/profile_logo.05e8ea8eeee1.svg" alt="User Account" class="w-6 h-6"></a></div><!-- Mobile Center Logo --><div class="flex justify-center"><a href="/" class="flex gap-2 items-center p-1.5 -m-1.5"><span class="sr-only">Holofin</span><img class="w-auto h-10" src="/static/img/logo.c1a7f37c5ce3.svg" alt="Holofin Logo"><img class="w-auto h-10 rotate-[25deg]" src="/static/img/icon.db3d5b43fc8e.png" alt="Holofin Icon"></a></div><!-- Mobile Right Icon --><div class="flex absolute top-0 bottom-0 right-6 items-center"><button type="button" class="inline-flex justify-center items-center p-2.5 -m-2.5 text-gray-700 rounded-md"
130                @click="mobileMenuOpen = true"><span class="sr-only">Open main menu</span><img src="/static/img/hamburger_logo.2aff7f41468a.svg" alt="Hamburger Menu" class="w-6 h-6"></button></div></nav></div><!-- Desktop Header --><div class="hidden bg-white lg:block"><nav class="flex justify-between items-center px-6 pt-2 pb-2 mx-auto max-w-7xl lg:px-8" aria-label="Desktop Global"><div class="flex flex-1"><a href="/" class="flex gap-2 items-center p-1.5 -m-1.5"><span class="sr-only">Holofin</span><img class="w-auto h-10" src="/static/img/logo.c1a7f37c5ce3.svg" alt="Holofin Logo"><img class="w-auto h-10 rotate-[25deg]" src="/static/img/icon.db3d5b43fc8e.png" alt="Holofin Icon"></a></div><div class="flex gap-x-4 items-center mr-4 ml-4"><div class="relative" x-data="{ open: false }" @mouseenter="open = true" @mouseleave="open = false"><button class="flex gap-1 items-center px-2 text-base leading-6 text-gray-500 font-base hover:text-green-dark">
131            Product
132            <svg class="w-4 h-4 transition-transform" :class="open && 'rotate-180'" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg></button><div x-show="open" x-cloak x-transition:enter="transition ease-out duration-100" x-transition:enter-start="opacity-0 scale-95" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-75" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-95" class="absolute left-1/2 z-50 pt-4 -translate-x-1/2"><div class="flex gap-6 p-5 bg-white rounded-lg border shadow-lg"><div class="w-80"><p class="mb-3 text-xs font-semibold tracking-wider text-gray-400">CAPABILITIES</p><a href="/capabilities/classification/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 22 22" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><path d="M12 3l-4 7h8z"/><path d="M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"/><path d="M4 14m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z"/></svg></span><div><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Classification</p><p class="text-xs text-gray-500">Combine text definitions with visual examples for superior accuracy.</p></div></a><a href="/capabilities/segmentation/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="3"/><circle cx="6" cy="18" r="3"/><line x1="20" y1="4" x2="8.12" y2="15.88"/><line x1="14.47" y1="14.48" x2="20" y2="20"/><line x1="8.12" y1="8.12" x2="12" y2="12"/></svg></span><div><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Segmentation</p><p class="text-xs text-gray-500">Split multi-document files by IBAN, vendor, patient, or any custom rule.</p></div></a><a href="/capabilities/extraction/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 48 48" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m24 9l16.454 28.5H7.545z"/><path d="m24 9l16.454 28.5H7.545zM4 22l15.5-5m8.5-1l16-3m-14 6.5L44 21m-11.3 3L44 29"/></svg></span><div><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Extraction</p><p class="text-xs text-gray-500">Extract any data with custom schemas and bounding box traceability.</p></div></a><a href="/capabilities/workflows/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor"><path d="M19 20.5q-.898 0-1.586-.562t-.855-1.438H11q-1.458 0-2.479-1.021T7.5 15t1.021-2.479T11 11.5h2q1.031 0 1.766-.735q.734-.736.734-1.769t-.734-1.764T13 6.5H7.44q-.17.875-.856 1.438T5 8.5q-1.042 0-1.77-.728q-.73-.729-.73-1.77t.73-1.771T5 3.5q.898 0 1.584.563q.685.562.857 1.437H13q1.458 0 2.479 1.021T16.5 9t
132-1.021 2.479T13 12.5h-2q-1.031 0-1.766.736q-.734.735-.734 1.768t.735 1.764q.734.732 1.765.732h5.56q.17-.875.856-1.437T19 15.5q1.042 0 1.77.729q.73.728.73 1.769t-.73 1.771T19 20.5M5 7.5q.617 0 1.059-.441Q6.5 6.617 6.5 6t-.441-1.059Q5.617 4.5 5 4.5t-1.059.441Q3.5 5.383 3.5 6t.441 1.059Q4.383 7.5 5 7.5"/></svg></span><div><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Workflows</p><p class="text-xs text-gray-500">Chain classification, segmentation, and extraction into automated pipelines.</p></div></a><a href="/capabilities/fraud-detection/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"/></svg></span><div><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Fraud Detection</p><p class="text-xs text-gray-500">Detect document fraud in any PDF or image file, from anywhere.</p></div></a><a href="/capabilities/dossier-intelligence/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3.75 9.776c.112-.017.227-.026.344-.026h15.812c.117 0 .232.009.344.026m-16.5 0a2.25 2.25 0 00-1.883 2.542l.857 6a2.25 2.25 0 002.227 1.932H19.05a2.25 2.25 0 002.227-1.932l.857-6a2.25 2.25 0 00-1.883-2.542m-16.5 0V6A2.25 2.25 0 016 3.75h3.879a1.5 1.5 0 011.06.44l2.122 2.12a1.5 1.5 0 001.06.44H18A2.25 2.25 0 0120.25 9v.776"/></svg></span><div><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Dossier Intelligence</p><p class="text-xs text-gray-500">Judge the whole case file: completeness per participant, consistency across documents.</p></div></a></div><div class="pl-6 w-72 border-l border-gray-100"><p class="mb-3 text-xs font-semibold tracking-wider text-gray-400">WHAT WE EXTRACT</p><a href="/solutions/bank-statement-extraction/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"/><path d="M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"/><path d="M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2"/><path d="M10 6h4"/><path d="M10 10h4"/><path d="M10 14h4"/><path d="M10 18h4"/></svg></span><div><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Bank Statements</p></div></a><a href="/solutions/extraction-liasse-fiscale/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/></svg></span><div class="flex-1 min-w-0"><p class="flex justify-between items-center text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Liasse Fiscale <svg class="flex-shrink-0 ml-2 w-4 h-3" viewBox="0 0 30 20"><rect width="10" height="20" fill="#002395"/><rect x="10" width="10" height="20" fill="#fff"/><rect x="20" width="10" height="20" fill="#ED2939"/></svg></p></div></a><a href="/solutions/extraction-cerfa-2033/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg></span><div class="flex-1 min-w-0"><p class="flex justify-between items-center text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">CERFA 2033 <svg class="flex-shrink-0 ml-2 w-4 h-3" viewBox="0 0 30 20"><rect width="10" height="20" fill="#002395"/><rect x="10" width="10" height="20" fill="#fff"/><rect x="20" width="10" height="20" fill="#ED2939"/></svg></p></div></a><a href="/solutions/extraction-cerfa-2050/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg></span><div class="flex-1 min-w-0"><p class="flex justify-between items-center text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">CERFA 2050 <svg class="flex-shrink-0 ml-2 w-4 h-3" viewBox="0 0 30 20"><rect width="10" height="20" fill="#002395"/><rect x="10" width="10" height="20" fill="#fff"/><rect x="20" width="10" height="20" fill="#ED2939"/></svg></p></div></a><a href="/solutions/german-susa-extraction/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"/>
132<path d="m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"/><path d="M7 21h10"/><path d="M12 3v18"/><path d="M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2"/></svg></span><div class="flex-1 min-w-0"><p class="flex justify-between items-center text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">SuSa <svg class="flex-shrink-0 ml-2 w-4 h-3" viewBox="0 0 30 20"><rect width="30" height="7" fill="#000"/><rect y="7" width="30" height="6" fill="#D00"/><rect y="13" width="30" height="7" fill="#FFCE00"/></svg></p></div></a><a href="/solutions/extraction-carte-vitale/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="M13.667 16h-3.334v-2.333H8v-3.334h2.333V8h3.334v2.333H16v3.334h-2.333z"/><path d="M5 18L3.13 4.913a.996.996 0 0 1 .774-1.114l7.662-1.703a2 2 0 0 1 .868 0L20.096 3.8c.51.113.848.596.774 1.114L19 18c-.07.495-.5 3.5-7 3.5S5.07 18.495 5 18"/></svg></span><div class="flex-1 min-w-0"><p class="flex justify-between items-center text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Attestation de droits <svg class="flex-shrink-0 ml-2 w-4 h-3" viewBox="0 0 30 20"><rect width="10" height="20" fill="#002395"/><rect x="10" width="10" height="20" fill="#fff"/><rect x="20" width="10" height="20" fill="#ED2939"/></svg></p></div></a><a href="/solutions/extraction-bulletin-de-paie/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg></span><div class="flex-1 min-w-0"><p class="flex justify-between items-center text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Payslip <svg class="flex-shrink-0 ml-2 w-4 h-3 rounded-sm" viewBox="0 0 60 40"><rect width="60" height="40" rx="2" fill="#039"/><g fill="#FC0"><g id="ps"><polygon points="30,5 31.2,8.7 35.1,8.7 31.9,11 33.1,14.7 30,12.4 26.9,14.7 28.1,11 24.9,8.7 28.8,8.7"/></g><use href="#ps" transform="rotate(30,30,20)"/><use href="#ps" transform="rotate(60,30,20)"/><use href="#ps" transform="rotate(90,30,20)"/><use href="#ps" transform="rotate(120,30,20)"/><use href="#ps" transform="rotate(150,30,20)"/><use href="#ps" transform="rotate(180,30,20)"/><use href="#ps" transform="rotate(210,30,20)"/><use href="#ps" transform="rotate(240,30,20)"/><use href="#ps" transform="rotate(270,30,20)"/><use href="#ps" transform="rotate(300,30,20)"/><use href="#ps" transform="rotate(330,30,20)"/></g></svg></p></div></a><div class="pt-3 mt-3 border-t border-gray-100"><a href="/solutions/" class="flex gap-2 items-center p-2 text-sm font-medium rounded hover:bg-gray-50 text-green-dark">
133                View all
134                <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg></a></div><p class="pt-4 mt-2 mb-3 text-xs font-semibold tracking-wider text-gray-400 border-t border-gray-100">CHECKS & COMPLIANCE</p><a href="/capabilities/duplicate-detection/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.7
1345"/></svg></span><div><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Duplicate Detection</p></div></a><a href="/capabilities/enrichment/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M9 12.75 11.25 15 15 9.75M21 12c0 1.268-.63 2.39-1.593 3.068a3.745 3.745 0 0 1-1.043 3.296 3.745 3.745 0 0 1-3.296 1.043A3.745 3.745 0 0 1 12 21c-1.268 0-2.39-.63-3.068-1.593a3.746 3.746 0 0 1-3.296-1.043 3.745 3.745 0 0 1-1.043-3.296A3.745 3.745 0 0 1 3 12c0-1.268.63-2.39 1.593-3.068a3.745 3.745 0 0 1 1.043-3.296 3.746 3.746 0 0 1 3.296-1.043A3.746 3.746 0 0 1 12 3c1.268 0 2.39.63 3.068 1.593a3.746 3.746 0 0 1 3.296 1.043 3.746 3.746 0 0 1 1.043 3.296A3.745 3.745 0 0 1 21 12Z"/></svg></span><div><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Enrichment & Validation</p></div></a><a href="/capabilities/document-authenticity/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3.75 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 3.75 9.375v-4.5ZM3.75 14.625c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5a1.125 1.125 0 0 1-1.125-1.125v-4.5ZM13.5 4.875c0-.621.504-1.125 1.125-1.125h4.5c.621 0 1.125.504 1.125 1.125v4.5c0 .621-.504 1.125-1.125 1.125h-4.5A1.125 1.125 0 0 1 13.5 9.375v-4.5Z"/><path d="M6.75 6.75h.75v.75h-.75v-.75ZM6.75 16.5h.75v.75h-.75v-.75ZM16.5 6.75h.75v.75h-.75v-.75ZM13.5 13.5h.75v.75h-.75v-.75ZM13.5 19.5h.75v.75h-.75v-.75ZM19.5 13.5h.75v.75h-.75v-.75ZM19.5 19.5h.75v.75h-.75v-.75ZM16.5 16.5h.75v.75h-.75v-.75Z"/></svg></span><div><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">Document Authenticity</p></div></a><a href="/solutions/analyse-solvabilite-credit-consommation/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M11.35 3.836c-.065.21-.1.433-.1.664a.75.75 0 0 0 .75.75h4.5a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-.1-.664m-5.8 0A2.251 2.251 0 0 1 13.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m8.9-4.414c.376.023.75.05 1.124.08 1.131.094 1.976 1.057 1.976 2.192V16.5A2.25 2.25 0 0 1 18 18.75h-2.25m-7.5-10.5H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V18.75m-7.5-10.5h6.375c.621 0 1.125.504 1.125 1.125v9.375m-8.25-3 1.5 1.5 3-3.75"/></svg></span><div class="flex-1 min-w-0"><p class="flex justify-between items-center text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">French Credit Compliance <svg class="flex-shrink-0 ml-2 w-4 h-3" viewBox="0 0 30 20"><rect width="10" height="20" fill="#002395"/><rect x="10" width="10" height="20" fill="#fff"/><rect x="20" width="10" height="20" fill="#ED2939"/></svg></p></div></a><a href="/solutions/dcc2/" class="flex items-center py-1 px-2 pl-10 rounded hover:bg-gray-50 group"><p class="text-sm font-medium text-gray-900 group-hover:text-[#4a8a7a]">DCC2 Guide <span class="text-gray-400 group-hover:text-[#4a8a7a]">&rarr;</span></p></a></div></div></div></div><div class="relative" x-data="{ open: false }" @mouseenter="open = true" @mouseleave="open = false"><button class="flex gap-1 items-center px-2 text-base leading-6 text-gray-500 hover:text-green-dark font-base">
135            Industry
136            <svg class="w-4 h-4 transition-transform" :class="open && 'rotate-180'" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/></svg></button><div x-show="open" x-cloak x-transition:enter="transition ease-out duration-100" x-transition:enter-start="opacity-0 scale-95" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-75" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-95" class="absolute left-0 z-50 pt-4"><div class="p-4 w-96 bg-white rounded-lg border shadow-lg"><p class="mb-3 text-xs font-semibold tracking-wider text-gray-400">INDUSTRIES</p><a href="/industry/finance/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]">
136<svg class="w-6 h-6" viewBox="0 0 32 32" fill="currentColor"><path d="M2 28h28v2H2zm25-17a1 1 0 0 0 1-1V7a1 1 0 0 0-.66-.94l-11-4a1 1 0 0 0-.68 0l-11 4A1 1 0 0 0 4 7v3a1 1 0 0 0 1 1h1v13H4v2h24v-2h-2V11zM6 7.7l10-3.64L26 7.7V9H6zM18 24h-4V11h4zM8 11h4v13H8zm16 13h-4V11h4z"/></svg></span><div><p class="font-medium text-gray-900 group-hover:text-[#4a8a7a]">Finance</p><p class="text-sm text-gray-500">Streamline financial workflows with secure, data-driven insights.</p></div></a><a href="/industry/healthcare/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-6 h-6" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="m18 20l3.824-3.824a.6.6 0 0 0 .176-.424V10.5A1.5 1.5 0 0 0 20.5 9v0a1.5 1.5 0 0 0-1.5 1.5V15"/><path d="m18 16l.858-.858a.48.48 0 0 0 .142-.343v0a.49.49 0 0 0-.268-.433l-.443-.221a2 2 0 0 0-2.308.374l-.895.895a2 2 0 0 0-.586 1.414V20M6 20l-3.824-3.824A.6.6 0 0 1 2 15.752V10.5A1.5 1.5 0 0 1 3.5 9v0A1.5 1.5 0 0 1 5 10.5V15"/><path d="m6 16l-.858-.858A.5.5 0 0 1 5 14.799v0c0-.183.104-.35.268-.433l.443-.221a2 2 0 0 1 2.308.374l.895.895a2 2 0 0 1 .586 1.414V20m4.167-8h-3.334V9.667H8V6.333h2.333V4h3.334v2.333H16v3.334h-2.333z"/></svg></span><div><p class="font-medium text-gray-900 group-hover:text-[#4a8a7a]">Healthcare</p><p class="text-sm text-gray-500">Simplify patient data management and boost operational efficiency.</p></div></a><a href="/industry/real-estate/" class="flex gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-6 h-6" viewBox="0 0 24 24" fill="currentColor"><path d="M19 2H9c-1.103 0-2 .897-2 2v5.586l-4.707 4.707A1 1 0 0 0 3 16v5a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4c0-1.103-.897-2-2-2m-8 18H5v-5.586l3-3l3 3zm8 0h-6v-4a.999.999 0 0 0-.293-.707L9 11.586V4h10zM11 6h2v2h-2zm4 0h2v2h-2zm0 4.031h2V12h-2zM15 14h2v2h-2zm-8 1h2v2H7z"/></svg></span><div><p class="font-medium text-gray-900 group-hover:text-[#4a8a7a]">Real Estate</p><p class="text-sm text-gray-500">Automate lease management, tenant onboarding, and property transactions.</p></div></a><a href="/case-studies/?industry=logistics" class="flex hidden gap-3 items-start p-2 rounded hover:bg-gray-50 group"><span class="text-green-dark group-hover:text-[#4a8a7a]"><svg class="w-6 h-6" viewBox="0 0 512 512" fill="currentColor"><path d="M441.885 141.649A32.03 32.03 0 0 0 415.669 128H336V80a32.036 32.036 0 0 0-32-32H48a32.036 32.036 0 0 0-32 32v328h53.082a67.982 67.982 0 0 0 133.836 0h106.164a67.982 67.982 0 0 0 133.836 0H496V226.522a23.9 23.9 0 0 0-4.338-13.763ZM47.98 80H304v176H48ZM136 432a36 36 0 1 1 36-36a36.04 36.04 0 0 1-36 36m240 0a36 36 0 1 1 36-36a36.04 36.04 0 0 1-36 36m88-56h-23.006a68 68 0 0 0-129.988 0H200.994a68 68 0 0 0-129.988 0H48v-88h416Zm0-120H336v-96h79.669L464 229.044Z"/></svg></span><div><p class="font-medium text-gray-900 group-hover:text-[#4a8a7a]">Logistics</p><p class="text-sm text-gray-500">Optimize supply chains with intelligent document processing.</p></div></a></div></div></div><a href="/blog/" class="px-2 text-base leading-6 text-gray-500 hover:text-green-dark font-base">Blog</a><a href="/pricing/" class="px-2 text-base leading-6 text-gray-500 hover:text-green-dark font-base">Pricing</a></div><div class="flex flex-1 gap-x-3 justify-end items-center font-base"><div class="relative" x-data="{ open: false }" @click.outside="open = false"><button @click="open = !open" class="flex items-center text-sm font-medium text-gray-900 hover:text-green-dark">
137            EN
138            <svg class="ml-0.5 w-3.5 h-3.5 transition-transform" :class="open && 'rotate-180'" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/></svg></button><div x-show="open" x-cloak
139               x-transition:enter="transition ease-out duration-100"
140               x-transition:enter-start="opacity-0 scale-95"
141               x-transition:enter-end="opacity-100 scale-100"
142               x-transition:leave="transition ease-in duration-75"
143               x-transition:leave-start="opacity-100 scale-100"
144               x-transition:leave-end="opacity-0 scale-95"
145               class="absolute right-0 z-50 mt-2 bg-white rounded border border-gray-200 shadow-sm"><span class="block py-1.5 px-4 text-sm font-medium text-gray-900 whitespace-nowrap">EN</span><a href="https://holofin.ai/fr/contact/" class="block py-1.5 px-4 text-sm text-gray-500 whitespace-nowrap hover:text-gray-900 hover:bg-gray-50">FR</a><a href="https://holofin.ai/de/contact/" class="block py-1.5 px-4 text-sm text-gray-500 whitespace-nowrap hover:text-gray-900 hover:bg-gray-50">DE</a><a href="https://holofin.ai/es/contact/" class="block py-1.5 px-4 text-sm text-gray-500 whitespace-nowrap hover:text-gray-900 hover:bg-gray-50">ES</a><a href="https://holofin.ai/it/contact/" class="block py-1.5 px-4 text-sm text-gray-500 whitespace-nowrap hover:text-gray-900 hover:bg-gray-50">IT</a></div></div><a href="https://app.holofin.ai/auth/login/" class="rounded-full group"><span class="sr-only">User Account</span><div class="flex justify-center items-center w-10 h-10 rounded-full group-hover:text-white text-green-dark border-[2px] border-green-dark group-hover:bg-green-dark"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="w-6 h-6" viewB
145ox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M11.64 3a5.42 5.42 0 0 0-4.83 3.77 5.57 5.57 0 0 0 4.76 7.38 8.35 8.35 0 0 0-6.16 3.21c-.55.7-1 1.5-1.3 2.34-.1.24-.11.3-.11.45a.83.83 0 0 0 .83.85c.16 0 .24-.02.38-.1.12-.05.2-.11.28-.2.07-.09.1-.16.18-.36a6.77 6.77 0 0 1 7.21-4.42 6.74 6.74 0 0 1 5.45 4.41c.07.2.1.26.16.35.07.09.17.17.3.23a.7.7 0 0 0 .37.09c.1 0 .14 0 .22-.03a.82.82 0 0 0 .53-.45.8.8 0 0 0 .09-.38c0-.14-.02-.2-.1-.44a8.63 8.63 0 0 0-2.63-3.68 8.38 8.38 0 0 0-4.84-1.87 5.77 5.77 0 0 0 4.84-7.13A5.38 5.38 0 0 0 11.63 3zm.12 1.72a3.86 3.86 0 0 0-3.53 4.3 3.94 3.94 0 0 0 2.14 3.03 3.77 3.77 0 0 0 5.42-3.48 3.92 3.92 0 0 0-2.16-3.48 3.77 3.77 0 0 0-1.87-.37z" clip-rule="evenodd"/></svg></div></a><div class="nav-demo-cta-wrapper"><a href="/contact/" id="nav-get-demo-desktop" class="whitespace-nowrap"><div class="z-index-1">Schedule Demo</div></a></div></div></nav></div><div class="lg:hidden" role="dialog" aria-modal="true"
146       x-cloak
147       x-show="mobileMenuOpen"
148       @click.outside="mobileMenuOpen = false"><div class="flex fixed inset-0 z-50 flex-col text-gray-200 bg-green-dark"><div class="flex flex-shrink-0 justify-between items-center px-6 h-16 bg-green-dark"><a href="#" class="p-1.5 -m-1.5"><span class="sr-only">Holofin</span><img class="w-auto h-8" src="/static/img/logo_white.2100caa94a84.svg" alt=""></a><button type="button" class="p-2.5 -m-2.5 text-gray-200 rounded-md" @click="mobileMenuOpen = false"><span class="sr-only">Close menu</span><svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke-width="1" stroke="currentColor" aria-hidden="true"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /></svg></button></div><div class="overflow-y-auto flex-grow px-6 pb-6"><div class="flow-root py-6 mt-0"><div class="-my-6"><div class="py-6 space-y-2"><div class="py-2 px-3 -mx-3 text-xs font-semibold tracking-wider uppercase text-green-light/60">Capabilities</div><a href="/capabilities/classification/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Classification</a><a href="/capabilities/segmentation/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Segmentation</a><a href="/capabilities/extraction/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Extraction</a><a href="/capabilities/workflows/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Workflows</a><a href="/capabilities/fraud-detection/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Fraud Detection</a><a href="/capabilities/dossier-intelligence/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green hover:bg-green-darker">Dossier Intelligence</a><div class="py-2 px-3 pt-4 -mx-3 text-xs font-semibold tracking-wider uppercase text-green-light/60">What We Extract</div><a href="/solutions/bank-statement-extraction/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Bank Statements</a><a href="/solutions/extraction-liasse-fiscale/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Liasse Fiscale</a><a href="/solutions/extraction-cerfa-2033/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">CERFA 2033 <svg class="inline-block w-4 h-3 align-baseline" viewBox="0 0 30 20"><rect width="10" height="20" fill="#002395"/><rect x="10" width="10" height="20" fill="#fff"/><rect x="20" width="10" height="20" fill="#ED2939"/></svg></a><a href="/solutions/extraction-cerfa-2050/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">CERFA 2050 <svg class="inline-block w-4 h-3 align-baseline" viewBox="0 0 30 20"><rect width="10" height="20" fill="#002395"/><rect x="10" width="10" height="20" fill="#fff"/><rect x="20" width="10" height="20" fill="#ED2939"/></svg></a><a href="/solutions/german-susa-extraction/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">SuSa (Trial Balance) <svg class="inline-block w-4 h-3 align-baseline" viewBox="0 0 30 20"><rect width="30" height="7" fill="#000"/><rect y="7" width="30" height="6" fill="#D00"/><rect y="13" width="30" height="7" fill="#FFCE00"/></svg></a><a href="/solutions/extraction-carte-vitale/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Attestation de droits <svg class="inline-block w-4 h-3 align-baseline" viewBox="0 0 30 20"><rect width="10" height="20" fill="#002395"/><rect x="10" width="10" height="20" fill="#fff"/><rect x="20" width="10" height="20" fill="#ED2939"/></svg></a><a href="/solutions/extraction-bulletin-de-paie/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green hover:bg-green-darker">Payslip <svg class="inline-block w-4 h-3 align-baseline rounded-sm" viewBox="0 0 60 40"><rect width="60" height="40" rx="2" fill="#039"/><g fill="#FC0"><g id="mps"><polygon points="30,5 31.2,8.7 35.1,8.7 31.9,11 33.1,14.7 30,12.4 26.9,14.7 28.1,11 24.9,8.7 28.8,8.7"/></g><use href="#mps" transform="rotate(30,30,20)"/><use href="#mps" transform="rotate(60,30,20)"/><use href="#mps" transform="rotate(90,30,20)"/><use href="#mps" transform="rotate(120,30,20)"/><use href="#mps" transform="rotate(150,30,20)"/><use href="#mps" transform="rotate(180,30,20)"/><use href="#mps" transform="rotate(210,30,20)"/><use href="#mps" transform="rotate(240,30,20)"/><use href="#mps" transform="rotate(270,30,20)"/><use href="#mps" transform="rotate(300,30,20)"/><use href="#mps" transform="rotate(330,30,20)"/></g></svg></a><div class="py-2 px-3 pt-4 -mx-3 text-xs font-semibold tracking-wider up
148percase text-green-light/60">Checks & Compliance</div><a href="/capabilities/duplicate-detection/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Duplicate Detection</a><a href="/capabilities/enrichment/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Enrichment & Validation</a><a href="/capabilities/document-authenticity/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Document Authenticity</a><a href="/solutions/analyse-solvabilite-credit-consommation/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">French Credit Compliance <svg class="inline-block w-4 h-3 align-baseline" viewBox="0 0 30 20"><rect width="10" height="20" fill="#002395"/><rect x="10" width="10" height="20" fill="#fff"/><rect x="20" width="10" height="20" fill="#ED2939"/></svg></a><a href="/solutions/dcc2/" class="block py-2 px-3 pl-9 -mx-3 text-base leading-7 text-gray-300 border-b border-green hover:bg-green-darker">DCC2 Guide &rarr;</a><div class="py-2 px-3 pt-4 -mx-3 text-xs font-semibold tracking-wider uppercase text-green-light/60">Industry</div><a href="/industry/finance/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Finance</a><a href="/industry/healthcare/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Healthcare</a><a href="/industry/real-estate/" class="block py-2 px-3 pl-6 -mx-3 text-base leading-7 text-gray-100 border-b border-green hover:bg-green-darker">Real Estate</a><div class="pt-4"></div><a href="/blog/" class="block py-2 px-3 -mx-3 text-lg leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Blog</a><a href="/pricing/" class="block py-2 px-3 -mx-3 text-lg leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Pricing</a><a href="/manifesto/" class="block py-2 px-3 -mx-3 text-lg leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Manifesto</a><a href="/legal-mentions/" class="block py-2 px-3 -mx-3 text-lg leading-7 text-gray-100 border-b border-green/30 hover:bg-green-darker">Legal</a><a href="/trust-center/" class="block py-2 px-3 -mx-3 text-lg leading-7 text-gray-100 border-b border-green hover:bg-green-darker">Trust Center</a></div><div class="flex gap-3 justify-center py-4 text-base"><span class="font-medium text-white">English</span><span class="text-green-light/40">|</span><a href="https://holofin.ai/fr/contact/" class="text-gray-300 hover:text-white">French</a><span class="text-green-light/40">|</span><a href="https://holofin.ai/de/contact/" class="text-gray-300 hover:text-white">German</a><span class="text-green-light/40">|</span><a href="https://holofin.ai/es/contact/" class="text-gray-300 hover:text-white">Spanish</a><span class="text-green-light/40">|</span><a href="https://holofin.ai/it/contact/" class="text-gray-300 hover:text-white">Italian</a></div><div class="py-6"><a href="/contact/" class="block w-full text-center btn--primary">Schedule Demo</a></div></div></div></div></div></div></header><style>
149.nav-demo-cta-wrapper {
150  position: relative;
151  display: flex;
152  justify-content: center;
153  align-items: center;
154  border-radius: 4rem;
155  padding: 2px;
156  overflow: hidden;
157  transition: all 300ms ease;
158}
159
160#nav-get-demo-desktop {
161  position: relative;
162  display: flex;
163  justify-content: center;
164  align-items: center;
165  padding: 0.625rem 2rem;
166  background: #1e5a3d;
167  color: white;
168  border-radius: 4rem;
169  line-height: 160%;
170  overflow: hidden;
171  transition: all 300ms ease;
172  text-decoration: none;
173  font-weight: 500;
174  z-index: 3;
175}
176
177/* Gradient Border */
178.nav-demo-cta-wrapper::after {
179  content: "";
180  width: 40%;
181  height: 500%;
182  position: absolute;
183  top: -200%;
184  left: 30%;
185  z-index: 1;
186  border-radius: 4rem;
187  background: linear-gradient(180deg, #d8fd49, #dcbb9b, #C35056);
188  animation: 4s spin linear infinite;
189  transition: all 300ms ease;
190}
191
192/* White Border Blinks */
193.nav-demo-cta-wrapper::before {
194  content: "";
195  position: absolute;
196  inset: -1px;
197  z-index: 2;
198  border-radius: 4rem;
199  background: white;
200  animation: blink 4s ease-in-out infinite;
201  transition: all 300ms ease;
202}
203
204/* Inside Arrow */
205
206.z-index-1 {
207  position: relative;
208  z-index: 4;
209}
210
211@keyframes spin {
212  0% {
213    transform: rotate(0deg);
214    background: linear-gradient(180deg, #d8fd49, #dcbb9b, #C35056);
215    opacity: 0;
216  }
217  10% {
218    transform: rotate(0deg);
219    background: linear-gradient(180deg, #d8fd49, #dcbb9b, #C35056);
220    opacity: 1;
221  }
222  50% {
223    transform: rotate(270deg);
224    background: linear-gradient(180deg, #d8fd49, #dcbb9b, #C35056);
225    opacity: 1;
226  }
227  51%,
228  99% {
229    transform: rotate(270deg);
230    background: linear-gradient(180deg, #C35056, #C35056, #C35056);
231    opacity: 1;
232  }
233  100% {
234    transform: rotate(270deg);
235    background: linear-gradient(180deg, #C35056, #C35056, #C35056);
236    opacity: 0;
237  }
238}
239
240@keyframes blink {
241  0%,
242  45% {
243    opacity: 1;
244  }
245  55% {
246    opacity: 0;
247  }
248  65% {
249    opacity: 1;
250  }
251  100% {
252    opacity: 1;
253  }
254}
255
256@keyframes move {
257  0%,
258  80% {
259    transform: translateX(-100%);
260  }
261  81% {
262    transform: translateX(-100%);
263  }
264  100% {
265    transform: translateX(100%);
266  }
267}
268</style><!-- swap out of band, HTMx will replace this part with the #contrib-messages in its HTTP response --><div class="fixed top-0 left-1/2 p-6 space-y-4 transform -translate-x-1/2 pointer-events-none"
269     hx-swap-oob="true"
270     id="contrib-messages"
271     style="z-index: 100;"></div><main class="flex flex-col flex-grow bg-white"><!-- Hero Section --><section class="px-6 pt-12 pb-12 bg-gray-light"><div class="mx-auto max-w-4xl text-center"><div data-aos="fade-up"><h1 class="mb-6 text-5xl font-bold md:text-6xl"><span class="text-green-dark">Get in</span><br><span class="bg-gradient-to-r from-[#b4dab7] to-[#a4dcb4] bg-clip-text text-transparent">
272          Touch
273        </span></h1><p class="text-xl text-green-dark/60">
274        Ready to transform your document processing? Let's talk.
275      </p></div></div></section><!-- Contact Content --><section class="px-6 pb-20 bg-gray-light"><div class="mx-auto max-w-6xl"><div class="grid gap-12 items-start lg:grid-cols-2"><!-- Left: Info + Schedule Demo + Contact Form --><div class="space-y-8"><!-- Info Section --><div data-aos="fade-up" class="space-y-6"><h2 class="text-2xl font-bold text-green-dark">
276            Meet with the Holofin team to understand your goals
277          </h2><ul class="space-y-3"><li class="flex gap-3 items-start text-green-dark/80"><span class="mt-1 text-green-light">•</span><span>See a custom demo on your files with target accuracy and latency</span></li><li class="flex gap-3 items-start text-green-dark/80"><span class="mt-1 text-green-light">•</span><span>Get a clear plan to production across API, VPC, SLAs, and pricing</span></li><li class="flex gap-3 items-start text-green-dark/80"><span class="mt-1 text-green-light">•</span><span>Receive a benchmark against your current solution</span></li></ul><div class="flex gap-3 items-center"><div class="flex justify-center items-center w-10 h-10 rounded-full bg-green-light"><svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 text-green-dark" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" /></svg></div><a href="/cdn-cgi/l/email-protection#d1b9b4bdbdbe91b9bebdbeb7b8bfffb0b8" class="font-medium transition-colors text-green-dark hover:text-green">
278              <span class="__cf_email__" data-cfemail="3c54595050537c545350535a5552125d55">[email&#160;protected]</span>
279            </a></div></div><!-- Schedule Demo Card --><div data-aos="fade-up" data-aos-delay="100" class="p-8 bg-gradient-to-br rounded-3xl border shadow-lg from-green-dark to-green-darker border-green-light/30"><div class="flex gap-3 items-center mb-6"><div class="flex justify-center items-center w-12 h-12 rounded-xl bg-green-light"><svg class="w-6 h-6 text-green-dark" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg></div><h2 class="text-2xl font-bold text-white">Schedule Demo</h2></div><p class="mb-6 leading-relaxed text-white/80">
280            See Holofin in action. Book a 30-minute personalized demo with our team.
281          </p><a href="https://calendly.com/holofin-team/30min" target="_blank" class="inline-flex gap-2 justify-center items-center w-full btn--primary bg-green-light text-green-dark hover:bg-green-lightest">
282            Schedule Demo
283            <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/></svg></a></div><!-- Contact Form --><div data-aos="fade-up" data-aos-delay="200" class="p-8 bg-white rounded-3xl border border-gray-200 shadow-lg"><h2 class="mb-6 text-2xl font-bold text-green-dark">Send us a message</h2><!-- Display Messages --><form method="post" class="space-y-6"><input type="hidden" name="csrfmiddlewaretoken" value="q5mO4vb9RDa1INyerDdBUU8Z4W335BYH2j4GZfL09KGDFfvFcNFhzczhwcqzjbwV"><div aria-hidden="true" style="position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden;"><label for="website">Website</label><input type="text"
284                     id="website"
285                     name="website"
286                     value=""
287                     tabindex="-1"
288                     autocomplete="off"></div><div aria-hidden="true" class="form-topic-row"><label for="subject">Subject</label><input type="text"
289                     id="subject"
290                     name="subject"
291                     value=""
292                     tabindex="-1"
293                     autocomplete="off"></div><input type="hidden" name="fhs" value=""><div><label for="name" class="block mb-2 text-sm font-medium text-green-dark/60">
294                Name *
295              </label><input type="text"
296                     id="name"
297                     name="name"
298                     value=""
299                     required
300                     class="py-3 px-4 w-full rounded-lg border border-gray-200 focus:border-transparent focus:ring-2 focus:outline-none bg-gray-light text-green-dark placeholder:text-green-dark/40 focus:ring-green-light"
301                     placeholder="Your name"></div><div><label for="email" class="block mb-2 text-sm font-medium text-green-dark/60">
302                Email *
303              </label><input type="email"
304                     id="email"
305                     name="email"
306                     value=""
307                     required
308                     class="py-3 px-4 w-full rounded-lg border border-gray-200 focus:border-transparent focus:ring-2 focus:outline-none bg-gray-light text-green-dark placeholder:text-green-dark/40 focus:ring-green-light"
309                     placeholder="[email protected]"></div><div><label for="company_name" class="block mb-2 text-sm font-medium text-green-dark/60">
310                Company
311              </label><input type="text"
312                     id="company_name"
313                     name="company_name"
314                     value=""
315                     class="py-3 px-4 w-full rounded-lg border border-gray-200 focus:border-transparent focus:ring-2 focus:outline-none bg-gray-light text-green-dark placeholder:text-green-dark/40 focus:ring-green-light"
316                     placeholder="Your company"></div><div><label for="message" class="block mb-2 text-sm font-medium text-green-dark/60">
317                Message *
318              </label><textarea id="message"
319                        name="message"
320                        rows="6"
321                        required
322                        class="py-3 px-4 w-full rounded-lg border border-gray-200 resize-none focus:border-transparent focus:ring-2 focus:outline-none bg-gray-light text-green-dark placeholder:text-green-dark/40 focu
322s:ring-green-light"
323                        placeholder="Tell us about your needs..."></textarea></div><button type="submit" class="inline-flex gap-2 justify-center items-center w-full btn--primary">
324              Send Message
325              <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 19l9 2-9-18-9 18 9-2zm0 0v-8"/></svg></button></form></div></div><!-- Right: Image --><div data-aos="fade-up" data-aos-delay="300"><div class="overflow-hidden rounded-3xl shadow-2xl"><img src="/static/img/contact_img.54bea16e7dcb.jpeg"
326               alt="Contact Holofin"
327               class="object-cover w-full h-auto"></div></div></div></div></section></main>
vendor: 108 bytes, line 327
327<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
327<script src="https://unpkg.com/aos@next/dist/aos.js"></script>
327<script>
328  AOS.init({
329    duration: 400,
330    easing: 'ease-out',
331    once: true,
332    offset: 30,
333    disable: 'mobile',
334  });
335</script>
335<script>
336  // Anti-spam dwell clock: stamp, at submit time, how long the page was
337  // open. Computed client-side on purpose — the page is edge-cached for
338  // anonymous visitors, so a server-rendered timestamp would be shared by
339  // everyone who hits the same cached copy.
340  (function () {
341    var t0 = Date.now();
342    var field = document.querySelector('form input[name="fhs"]');
343    if (!field || !field.form) return;
344    field.form.addEventListener('submit', function () {
345      field.value = ((Date.now() - t0) / 1000).toFixed(1);
346    });
347  })();
348</script>
348<style>
349  @keyframes pulse-glow {
350    0%, 100% {
351      filter: brightness(1.2) drop-shadow(0 0 4px rgba(255,255,255,0.6));
352      transform: rotate(25deg) scale(1);
353    }
354    12% {
355      filter: brightness(1.45) drop-shadow(0 0 12px rgba(255,255,255,1));
356      transform: rotate(25deg) scale(1.08);
357    }
358    28% {
359      filter: brightness(1.15) drop-shadow(0 0 3px rgba(255,255,255,0.4));
360      transform: rotate(25deg) scale(0.97);
361    }
362    37% {
363      filter: brightness(1.6) drop-shadow(0 0 15px rgba(255,255,255,1));
364      transform: rotate(25deg) scale(1.12);
365    }
366    52% {
367      filter: brightness(1.25) drop-shadow(0 0 6px rgba(255,255,255,0.7));
368      transform: rotate(25deg) scale(1.02);
369    }
370    68% {
371      filter: brightness(1.35) drop-shadow(0 0 8px rgba(255,255,255,0.85));
372      transform: rotate(25deg) scale(1.05);
373    }
374    81% {
375      filter: brightness(1.5) drop-shadow(0 0 10px rgba(255,255,255,0.95));
376      transform: rotate(25deg) scale(1.09);
377    }
378    93% {
379      filter: brightness(1.18) drop-shadow(0 0 5px rgba(255,255,255,0.5));
380      transform: rotate(25deg) scale(0.99);
381    }
382  }
383
384  @keyframes pulse-secondary {
385    0%, 100% {
386      opacity: 1;
387    }
388    33% {
389      opacity: 0.85;
390    }
391    66% {
392      opacity: 0.95;
393    }
394  }
395
396  .group:hover .pulse-on-hover {
397    animation:
398      pulse-glow 2.3s cubic-bezier(0.4, 0, 0.6, 1) infinite,
399      pulse-secondary 1.7s ease-in-out infinite;
400  }
401</style><footer class="text-white bg-green-dark" aria-labelledby="footer-heading"><h2 id="footer-heading" class="sr-only">Footer</h2><div class="px-6 pt-12 pb-8 mx-auto max-w-7xl sm:pt-12 lg:px-8 lg:pt-20"><div class="lg:grid lg:grid-cols-3 lg:gap-8"><div class="space-y-8 group"><div class="flex items-center space-x-4"><img class="h-12" src="/static/img/logo_white.2100caa94a84.svg" alt="Holofin"><img class="relative h-16 transition-all duration-300 ease-in-out rotate-[25deg] -left-[6px] pulse-on-hover" src="/static/img/icon_white.6061c005e46f.svg" alt="Holofin Icon"></div><p class="text-xl leading-6 text-white cursor-pointer font-base">Documents to data, simplified.</p><div class="flex gap-5 items-center mt-4"><!-- European Cloud --><div class="flex gap-2 items-center text-sm text-white/60"><span>Made and operated in the EU.🇪🇺</span></div></div></div><div class="grid grid-cols-2 gap-8 mt-16 sm:grid-cols-4 sm:gap-12 lg:col-span-2 lg:justify-end lg:mt-0 font-base"><div><h3 class="text-xl leading-6 font-slim text-green-lighter">Capabilities</h3><ul role="list" class="mt-6 space-y-4"><li><a href="/capabilities/classification/" class="text-base leading-6 text-white hover:underline font-slim">Classification</a></li><li><a href="/capabilities/segmentation/" class="text-base leading-6 text-white hover:underline font-slim">Segmentation</a></li><li><a href="/capabilities/extraction/" class="text-base leading-6 text-white hover:underline font-slim">Extraction</a></li><li><a href="/capabilities/workflows/" class="text-base leading-6 text-white hover:underline font-slim">Workflows</a></li><li><a href="/capabilities/fraud-detection/" class="text-base leading-6 text-white hover:underline font-slim">Fraud Detection</a></li><li><a href="/capabilities/dossier-intelligence/" class="text-base leading-6 text-white hover:underline font-slim">Dossier Intelligence</a></li><li><a href="/capabilities/duplicate-detection/" class="text-base leading-6 text-white hover:underline font-slim">Duplicate Detection</a></li><li><a href="/capabilities/enrichment/" class="text-base leading-6 text-white hover:underline font-slim">Enrichment & Validation</a></li><li><a href="/capabilities/document-authenticity/" class="text-base leading-6 text-white hover:underline font-slim">Document Authenticity</a></li><li class="pt-2"><a href="/solutions/" class="text-base leading-6 text-white hover:underline font-slim">Our Documents</a></li></ul></div><div><h3 class="text-xl leading-6 font-slim text-green-lighter">Industries</h3><ul role="list" class="mt-6 space-y-4"><li><a href="/industry/finance/" class="text-base leading-6 text-white hover:underline font-slim">Finance</a></li><li><a href="/industry/healthcare/" class="text-base leading-6 text-white hover:underline font-slim">Healthcare</a></li><li><a href="/industry/real-estate/" class="text-base leading-6 text-white hover:underline font-slim">Real Estate</a></li></ul></div><div>
401<h3 class="text-xl leading-6 font-slim text-green-lighter">Company</h3><ul role="list" class="mt-6 space-y-4"><li><a href="/pricing/" class="text-base leading-6 text-white hover:underline font-slim">Pricing</a></li><li><a href="/case-studies/" class="text-base leading-6 text-white hover:underline font-slim">Case Studies</a></li><li><a href="/manifesto/" class="text-base leading-6 text-white hover:underline font-slim">Manifesto</a></li><li><a href="/contact/" class="text-base leading-6 text-white hover:underline font-slim">Contact</a></li></ul><h3 class="mt-8 text-xl leading-6 font-slim text-green-lighter">Resources</h3><ul role="list" class="mt-6 space-y-4"><li><a href="/blog/" class="text-base leading-6 text-white hover:underline font-slim">Blog</a></li><li><a href="/solutions/analyse-solvabilite-credit-consommation/" class="text-base leading-6 text-white hover:underline font-slim">French Credit Compliance</a></li><li><a href="/solutions/dcc2/" class="text-base leading-6 text-white hover:underline font-slim">DCC2 Guide</a></li><li><a href="/compare/bank-statement-extraction-software/" class="text-base leading-6 text-white hover:underline font-slim">Bank Statement Software Compared</a></li><li><a href="https://status.holofin.ai" class="text-base leading-6 text-white hover:underline font-slim">API Status</a></li></ul></div><div><h3 class="text-xl leading-6 font-slim text-green-lighter">Legal</h3><ul role="list" class="mt-6 space-y-4"><li><a href="/privacy-policy/" class="text-base leading-6 text-white hover:underline font-slim">Privacy Policy</a></li><li><a href="/legal-mentions/" class="text-base leading-6 text-white hover:underline font-slim">Legal Mentions</a></li><li><a href="/trust-center/" class="text-base leading-6 text-white hover:underline font-slim">Trust Center</a></li></ul><h3 class="mt-8 text-xl leading-6 font-slim text-green-lighter">Partners</h3><ul role="list" class="mt-6 space-y-4"><li><a href="https://origami-entreprises.fr/" class="inline-flex gap-2 items-center text-base leading-6 text-white hover:underline font-slim"><img src="/static/img/origami_icon.f5f6da39f21f.svg" alt="" class="w-4 h-4">Origami Entreprises</a></li></ul></div></div></div><div class="pt-8 mt-8 md:flex md:justify-between md:items-center"><div class="flex space-x-6 md:order-2"></div><div class="mt-8 md:order-1 md:mt-0 font-base"><div class="flex flex-wrap gap-y-2 gap-x-4 justify-center items-center text-sm leading-5 text-center md:justify-center text-gray-blue-light"><span class="mr-0 w-full text-center md:mr-6 md:w-auto md:text-left">&copy; 2026 Holofin. All rights reserved. </span><span class="hidden sm:inline">/</span><div class="inline-block relative" x-data="{ open: false }" @click.outside="open = false"><button @click="open = !open" class="flex items-center hover:underline text-gray-blue-light">
402               EN
403               <svg class="ml-0.5 w-3 h-3 transition-transform" :class="open && 'rotate-180'" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/></svg></button><div x-show="open" x-cloak
404                  x-transition:enter="transition ease-out duration-100"
405                  x-transition:enter-start="opacity-0 scale-95"
406                  x-transition:enter-end="opacity-100 scale-100"
407                  x-transition:leave="transition ease-in duration-75"
408                  x-transition:leave-start="opacity-100 scale-100"
409                  x-transition:leave-end="opacity-0 scale-95"
410                  class="absolute left-0 bottom-full z-50 mb-2 bg-white rounded border border-gray-200 shadow-sm"><span class="block py-1.5 px-4 text-sm font-medium text-gray-900 whitespace-nowrap">EN</span><a href="https://holofin.ai/fr/contact/" class="block py-1.5 px-4 text-sm text-gray-500 whitespace-nowrap hover:text-gray-900 hover:bg-gray-50">FR</a><a href="https://holofin.ai/de/contact/" class="block py-1.5 px-4 text-sm text-gray-500 whitespace-nowrap hover:text-gray-900 hover:bg-gray-50">DE</a><a href="https://holofin.ai/es/contact/" class="block py-1.5 px-4 text-sm text-gray-500 whitespace-nowrap hover:text-gray-900 hover:bg-gray-50">ES</a><a href="https://holofin.ai/it/contact/" class="block py-1.5 px-4 text-sm text-gray-500 whitespace-nowrap hover:text-gray-900 hover:bg-gray-50">IT</a></div></div></div></div></div></div></footer><!-- AI Agent Outreach: markdown + follow-up helpers (outside x-data to avoid HTML-in-attribute issues) -->
410<script>
411window._hfMd = {
412  inline(t) {
413    return t.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')
414      .replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>')
415      .replace(/\[([^\]]+)\]\((https?:\/\/[^)]+)\)/g, '<a href="$2" target="_blank" rel="noopener" class="underline" style="color:#254b45">$1</a>');
416  },
417  toHtml(text) {
418    var lines = text.split('\n'), html = '', para = [], list = [];
419    var flushP = function() { if (para.length) { html += '<div style="margin-bottom:18px">' + window._hfMd.inline(para.join(' ')) + '</div>'; para = []; } };
420    var flushL = function() { if (list.length) { html += '<ul style="margin-left:16px;list-style-type:disc;margin-bottom:18px">' + list.map(function(x) { return '<li>' + window._hfMd.inline(x) + '</li>'; }).join('') + '</ul>'; list = []; } };
421    for (var idx = 0; idx < lines.length; idx++) {
422      var t = lines[idx].trim();
423      if (!t) { flushP(); flushL(); continue; }
424      if (/^[-*]\s/.test(t)) { flushP(); list.push(t.replace(/^[-*]\s+/, '')); }
425      else { flushL(); para.push(t); }
426    }
427    flushP(); flushL();
428    return html || '<div>' + window._hfMd.inline(text) + '</div>';
429  },
430  parseFollowUps(text) {
431    var lines = text.split('\n'), followUps = [], i = lines.length - 1;
432    while (i >= 0 && lines[i].trim().indexOf('\u2192 ') === 0) {
433      followUps.unshift(lines[i].trim().substring(2));
434      i--;
435    }
436    while (i >= 0 && !lines[i].trim()) i--;
437    return { body: lines.slice(0, i + 1).join('\n'), followUps: followUps };
438  },
439  stream(html, container, onTick) {
440    return new Promise(function(resolve) {
441      if (!container) { resolve(); return; }
442      var wrapped = '', i = 0;
443      while (i < html.length) {
444        if (html.charAt(i) === '<') {
445          var close = html.indexOf('>', i);
446          if (close !== -1) { wrapped += html.substring(i, close + 1); i = close + 1; }
447          else { wrapped += html.charAt(i); i++; }
448        } else if (html.charAt(i) === ' ') {
449          wrapped += ' '; i++;
450        } else {
451          var end = i;
452          while (end < html.length && html.charAt(end) !== ' ' && html.charAt(end) !== '<') end++;
453          wrapped += '<span class="hf-w" style="opacity:0;display:inline-block;transform:translateY(-3px)">' + html.substring(i, end) + '</span>';
454          i = end;
455        }
456      }
457      container.innerHTML = wrapped;
458      var spans = container.querySelectorAll('.hf-w');
459      var ci = 0;
460      function step() {
461        if (ci >= spans.length) { container.innerHTML = html; resolve(); return; }
462        spans[ci].style.transition = 'opacity .13s ease-out,transform .13s ease-out';
463        spans[ci].style.opacity = '1';
464        spans[ci].style.transform = 'translateY(0)';
465        ci++;
466        onTick();
467        setTimeout(step, 18 + Math.floor(Math.random() * 7));
468      }
469      step();
470    });
471  }
472};
473</script>
473<!-- AI Agent Outreach Widget --><div id="holofin-agent-outreach" x-cloak x-data="{
474       visible: false,
475       expanded: false,
476       questionsMinimized: false,
477       messages: [],
478       input: '',
479       loading: false,
480       typing: false,
481       conversationId: null,
482       demoUrlBase: '/agent/demo/',
483       _loadingTexts: ['Processing context..', 'Planning next move..', 'Finding alternative..'],
484       _loadingTextIdx: 0,
485       _loadingInterval: null,
486       loadingText: '',
487       loadingTextVisible: true,
488       async sendMessage(text) {
489         if (!text.trim() || this.loading || this.typing) return;
490         const msg = text.trim();
491         this.input = '';
492         this.messages.push({ role: 'user', content: msg, done: true });
493         this.loading = true;
494         this._startLoadingTexts();
495         this._scrollChat();
496         try {
497           const resp = await fetch('/agent/chat/', {
498             method: 'POST',
499             headers: { 'Content-Type': 'application/json' },
500             body: JSON.stringify({
501               message: msg,
502               conversation_id: this.conversationId,
503               page_url: window.location.href,
504             }),
505           });
506           const data = await resp.json();
507           if (data.response) {
508             this.conversationId = data.conversation_id;
509             this._stopLoadingTexts();
510             this.loading = false;
511             await this._streamResponse(data.response, data.cta);
512           } else {
513             this._stopLoadingTexts();
514             this.loading = false;
515           }
516         } catch (e) {
517           this._stopLoadingTexts();
518           this.loading = false;
519           await this._streamResponse('Sorry, something went wrong. Please try again.');
520         }
521       },
522       demoUrl() {
523         // `c` is only available once a conversation exists. A cold click on the
524         // widget's own button has none, and is counted by Umami instead.
525         return this.conversationId
526           ? this.demoUrlBase + '?c=' + encodeURIComponent(this.conversationId)
527           : this.demoUrlBase;
528       },
529       trackDemoCtaClick() {
530         if (window.umami) window.umami.track('agent-demo-cta-clicked');
531       },
532       async _streamResponse(text, cta) {
533         const { body, followUps } = window._hfMd.parseFollowUps(text);
534         const html = window._hfMd.toHtml(body);
535         this.messages.push({ role: 'assistant', content: html, done: false, followUps: followUps, cta: cta || null });
536         const idx = this.messages.length - 1;
537         this.typing = true;
538         const self = this;
539         await self.$nextTick();
540         const container = document.getElementById('hf-stream-' + idx);
541         await window._hfMd.stream(html, container, function() { self._scrollChat(); });
542         self.messages[idx].done = true;
543         self.typing = false;
544         // data-umami-event only fires on click, so the impression is tracked here.
545         if (self.messages[idx].cta && window.umami) window.umami.track('agent-demo-cta-shown');
546         self._scrollChat();
547       },
548       _startLoadingTexts() {
549         this._loadingTextIdx = 0;
550         this.loadingText = this._loadingTexts[0];
551         this.loadingTextVisible = true;
552         this._loadingInterval = setInterval(() => {
553           this.loadingTextVisible = false;
554           setTimeout(() => {
555             this._loadingTextIdx = (this._loadingTextIdx + 1) % this._loadingTexts.length;
556             this.loadingText = this._loadingTexts[this._loadingTextIdx];
557             this.loadingTextVisible = true;
558           }, 400);
559         }, 2000);
560       },
561       _stopLoadingTexts() {
562         if (this._loadingInterval) { clearInterval(this._loadingInterval); this._loadingInterval = null; }
563       },
564       _scrollChat() {
565         this.$nextTick(() => {
566           const el = this.$refs.chatArea;
567           if (el) el.scrollTop = el.scrollHeight;
568         });
569       }
570     }"
571     x-init="$nextTick(() => { visible = window.innerWidth < 768 || window.scrollY > 400 })"
572     @scroll.window.throttle.100ms="visible = window.innerWidth < 768 || window.scrollY > 400"
573     @keydown.escape.window="expanded = false">
573<!-- ===== TRIGGER (collapsed state) ===== --><!-- Centered, input-shaped pill in a soft green halo: it reads as "type your --><!-- question here" and opens the bar in the same spot. The wrapper does the --><!-- centering so the button's own transform stays free for hover:scale.    --><div x-show="visible && !expanded"
574       x-transition:enter="transition ease-out duration-500"
575       x-transition:enter-start="opacity-0 translate-y-4"
576       x-transition:enter-end="opacity-100 translate-y-0"
577       x-transition:leave="transition ease-in duration-200"
578       x-transition:leave-start="opacity-100"
579       x-transition:leave-end="opacity-0"
580       class="flex fixed inset-x-0 bottom-6 justify-center px-4 pointer-events-none agent-trigger-wrap"
581       style="z-index: 30;"><button type="button"
582            @click="expanded = true"
583            class="block transition-transform duration-200 cursor-pointer pointer-events-auto active:scale-95 agent-trigger hover:scale-[1.03]"
584            style="padding: 5px; border-radius: 16px;
585                   background: rgba(180, 218, 183, 0.55);
586                   backdrop-filter: blur(16px) saturate(180%);
587                   -webkit-backdrop-filter: blur(16px) saturate(180%);
588                   box-shadow: 0 0 0 1px rgba(37, 75, 69, 0.14), 0 12px 32px -10px rgba(37, 75, 69, 0.55);"><span class="flex gap-3 items-center agent-trigger-field"
589            style="min-width: 300px; padding: 10px 10px 10px 14px; border-radius: 11px; background: #fff;
590                   box-shadow: 0 1px 2px rgba(30, 44, 45, 0.08);"><svg width="18" height="18" viewBox="0 0 24 26" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0"><path d="M8.25332 5.94136C8.48518 5.33853 8.60111 5.03711 8.76847 4.94968C8.91352 4.87389 9.08648 4.87389 9.23153 4.94968C9.39889 5.03711 9.51482 5.33853 9.74668 5.94136L10.8108 8.70798C11.0646 9.36788 11.1915 9.69784 11.3888 9.97538C11.5637 10.2214 11.7786 10.4363 12.0246 10.6112C12.3022 10.8085 12.6321 10.9354 13.292 11.1892L16.0586 12.2533C16.6615 12.4852 16.9629 12.6011 17.0503 12.7685C17.1261 12.9135 17.1261 13.0865 17.0503 13.2315C16.9629 13.3989 16.6615 13.5148 16.0586 13.7467L13.292 14.8108C12.6321 15.0646 12.3022 15.1915 12.0246 15.3888C11.7786 15.5637 11.5637 15.7786 11.3888 16.0246C11.1915 16.3022 11.0646 16.6321 10.8108 17.292L9.74668 20.0586C9.51482 20.6615 9.39889 20.9629 9.23153 21.0503C9.08648 21.1261 8.91352 21.1261 8.76847 21.0503C8.60111 20.9629 8.48518 20.6615 8.25333 20.0586L7.18924 17.292C6.93543 16.6321 6.80852 16.3022 6.61118 16.0246C6.43627 15.7786 6.22136 15.5637 5.97538 15.3888C5.69784 15.1915 5.36788 15.0646 4.70798 14.8108L1.94136 13.7467C1.33853 13.5148 1.03711 13.3989 0.949676 13.2315C0.873893 13.0865 0.873893 12.9135 0.949676 12.7685C1.03711 12.6011 1.33853 12.4852 1.94136 12.2533L4.70798 11.1892C5.36788 10.9354 5.69784 10.8085 5.97538 10.6112C6.22136 10.4363 6.43627 10.2214 6.61118 9.97538C6.80852 9.69784 6.93543 9.36788 7.18924 8.70798L8.25332 5.94136Z" fill="#2f8a5e"></path><path d="M18.7533 1.44136C18.9852 0.838528 19.1011 0.537113 19.2685 0.449676C19.4135 0.373893 19.5865 0.373893 19.7315 0.449676C19.8989 0.537113 20.0148 0.838528 20.2467 1.44136L20.4054 1.85399C20.5323 2.18394 20.5957 2.34892 20.6944 2.48769C20.7819 2.61068 20.8893 2.71814 21.0123 2.80559C21.1511 2.90426 21.3161 2.96771 21.646 3.09462L22.0586 3.25332C22.6615 3.48518 22.9629 3.60111 23.0503 3.76847C23.1261 3.91352 23.1261 4.08648 23.0503 4.23153C22.9629 4.39889 22.6615 4.51482 22.0586 4.74668L21.646 4.90538C21.3161 5.03229 21.1511 5.09574 21.0123 5.19441C20.8893 5.28187 20.7819 5.38932 20.6944 5.51231C20.5957 5.65108 20.5323 5.81606 20.4054 6.14601L20.2467 6.55864C20.0148 7.16147 19.8989 7.46289 19.7315 7.55032C19.5865 7.62611 19.4135 7.62611 19.2685 7.55032C19.1011 7.46289 18.9852 7.16147 18.7533 6.55864L18.5946 6.14601C18.4677 5.81606 18.4043 5.65108 18.3056 5.51231C18.2181 5.38932 18.1107 5.28187 17.9877 5.19441C17.8489 5.09574 17.6839 5.03229 17.354 4.90538L16.9414 4.74668C16.3385 4.51482 16.0371 4.39889 15.9497 4.23153C15.8739 4.08648 15.8739 3.91352 15.9497 3.76847C16.0371 3.60111 16.3385 3.48518 16.9414 3.25332L17.354 3.09462C17.6839 2.96772 17.8489 2.90426 17.9877 2.80559C18.1107 2.71814 18.2181 2.61068 18.3056 2.48769C18.4043 2.34892 18.4677 2.18394 18.5946 1.85399L18.7533 1.44136Z" fill="#6fbf8a"></path><path d="M18.7533 19.4414C18.9852 18.8385 19.1011 18.5371 19.2685 18.4497C19.4135 18.3739 19.5865 18.3739 19.7315 18.4497C19.8989 18.5371 20.0148 18.8385 20.2467 19.4414L20.4054 19.854C20.5323 20.1839 20.5957 20.3489 20.6944 20.4877C20.7819 20.6107 20.8893 20.7181 21.0123 20.8056C21.1511 20.9043 21.3161 20.9677 21.646 21.0946L22.0586 21.2533C22.6615 21.4852 22.9629 21.6011 23.0503 21.7685C23.1261 21.9135 23.1261 22.0865 23.0503 22.2315C22.9629 22.3989 22.661
5905 22.5148 22.0586 22.7467L21.646 22.9054C21.3161 23.0323 21.1511 23.0957 21.0123 23.1944C20.8893 23.2819 20.7819 23.3893 20.6944 23.5123C20.5957 23.6511 20.5323 23.8161 20.4054 24.146L20.2467 24.5586C20.0148 25.1615 19.8989 25.4629 19.7315 25.5503C19.5865 25.6261 19.4135 25.6261 19.2685 25.5503C19.1011 25.4629 18.9852 25.1615 18.7533 24.5586L18.5946 24.146C18.4677 23.8161 18.4043 23.6511 18.3056 23.5123C18.2181 23.3893 18.1107 23.2819 17.9877 23.1944C17.8489 23.0957 17.6839 23.0323 17.354 22.9054L16.9414 22.7467C16.3385 22.5148 16.0371 22.3989 15.9497 22.2315C15.8739 22.0865 15.8739 21.9135 15.9497 21.7685C16.0371 21.6011 16.3385 21.4852 16.9414 21.2533L17.354 21.0946C17.6839 20.9677 17.8489 20.9043 17.9877 20.8056C18.1107 20.7181 18.2181 20.6107 18.3056 20.4877C18.4043 20.3489 18.4677 20.1839 18.5946 19.854L18.7533 19.4414Z" fill="#6fbf8a"></path></svg><span class="flex-1 text-base text-left whitespace-nowrap agent-trigger-label" style="color: #4b5754;">Ask about Holofin</span><span class="flex justify-center items-center rounded-full shrink-0 agent-trigger-send"
591              style="width: 28px; height: 28px; background: #254b45;" aria-hidden="true"><svg width="14" height="14" viewBox="0 0 20 20" fill="none"><path d="M10 16V4M10 4L5 9M10 4L15 9" stroke="#fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></span></span></button></div><!-- ===== GLASS BOTTOM BAR (before first message) ===== --><div x-show="visible && expanded && messages.length === 0 && !loading"
592       x-transition:enter="transition ease-out duration-500"
593       x-transition:enter-start="opacity-0 translate-y-8"
594       x-transition:enter-end="opacity-100 translate-y-0"
595       x-transition:leave="transition ease-in duration-200"
596       x-transition:leave-start="opacity-100 translate-y-0"
597       x-transition:leave-end="opacity-0 translate-y-8"
598       class="fixed left-1/2 w-[800px] max-[840px]:w-[calc(100vw-40px)] bottom-6"
599       style="z-index: 30; transform: translateX(-50%);"><div class="backdrop-blur-[25px] backdrop-saturate-[180%] border border-white/[0.18] relative w-full"
600         style="background: linear-gradient(135deg, rgba(37, 75, 69, 0.35) 0%, rgba(37, 75, 69, 0.2) 100%); border-radius: 8px;"><div class="flex flex-col p-2 gap-[10px]"><!-- Suggestion Pills --><div class="relative"
601             x-show="!questionsMinimized"
602             x-transition:leave="transition ease-in duration-200"
603             x-transition:leave-start="opacity-100"
604             x-transition:leave-end="opacity-0"
605             style="max-height: 300px; overflow: hidden;"><div class="flex absolute top-0 right-0 z-10 gap-1 items-center"><button type="button" @click="questionsMinimized = true"
606                    class="p-2 rounded-full transition-colors duration-200 hover:bg-white/20"
607                    aria-label="Minimize questions"><svg width="16" height="16" viewBox="0 0 20 20" fill="none"><path d="M4 10H16" stroke="#fff" stroke-width="2" stroke-linecap="round"></path></svg></button><button type="button" @click="expanded = false"
608                    class="p-2 rounded-full transition-colors duration-200 hover:bg-white/20"
609                    aria-label="Close"><svg width="16" height="16" viewBox="0 0 20 20" fill="none"><path d="M5 5L15 15M15 5L5 15" stroke="#fff" stroke-width="2" stroke-linecap="round"></path></svg></button></div><div class="flex flex-wrap items-start pr-20 gap-[10px]"><button type="button" @click="sendMessage('Do you have a free trial?')"
610                    class="flex gap-2 items-center py-3 px-4 rounded-full border-none shadow-sm transition-all duration-200 ease-in-out cursor-pointer outline-none md:px-3 active:scale-90 md:py-[9px] hover:brightness-110 active:brightness-75"
611                    style="background: rgba(255, 255, 255, 0.97);"
612                    data-umami-event="agent-suggestion"
613                    data-umami-event-label="Do you have a free trial?"><span class="text-base font-normal leading-tight text-black md:text-sm">Do you have a free trial?</span><svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="flex-none"><path d="M17.92 11.62C17.8724 11.4973 17.801 11.3851 17.71 11.29L12.71 6.29C12.6168 6.19676 12.5061 6.1228 12.3842 6.07234C12.2624 6.02188 12.1319 5.99591 12 5.99591C11.7337 5.99591 11.4783 6.1017 11.29 6.29C11.1968 6.38324 11.1228 6.49393 11.0723 6.61575C11.0219 6.73758 10.9959 6.86814 10.9959 7C10.9959 7.2663 11.1017 7.5217 11.29 7.71L14.59 11H7C6.73478 11 6.48043 11.1054 6.29289 11.2929C6.10536 11.4804 6 11.7348 6 12C6 12.2652 6.10536 12.5196 6.29289 12.7071C6.48
613043 12.8946 6.73478 13 7 13H14.59L11.29 16.29C11.1963 16.383 11.1219 16.4936 11.0711 16.6154C11.0203 16.7373 10.9942 16.868 10.9942 17C10.9942 17.132 11.0203 17.2627 11.0711 17.3846C11.1219 17.5064 11.1963 17.617 11.29 17.71C11.383 17.8037 11.4936 17.8781 11.6154 17.9289C11.7373 17.9797 11.868 18.0058 12 18.0058C12.132 18.0058 12.2627 17.9797 12.3846 17.9289C12.5064 17.8781 12.617 17.8037 12.71 17.71L17.71 12.71C17.801 12.6149 17.8724 12.5028 17.92 12.38C18.02 12.1365 18.02 11.8635 17.92 11.62Z" fill="#000"></path></svg></button><button type="button" @click="sendMessage('Can I see a live demo?')"
614                    class="flex gap-2 items-center py-3 px-4 rounded-full border-none shadow-sm transition-all duration-200 ease-in-out cursor-pointer outline-none md:px-3 active:scale-90 md:py-[9px] hover:brightness-110 active:brightness-75"
615                    style="background: rgba(249, 250, 251, 1);"
616                    data-umami-event="agent-suggestion"
617                    data-umami-event-label="Can I see a live demo?"><span class="text-base font-normal leading-tight text-black md:text-sm">Can I see a live demo?</span><svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="flex-none"><path d="M17.92 11.62C17.8724 11.4973 17.801 11.3851 17.71 11.29L12.71 6.29C12.6168 6.19676 12.5061 6.1228 12.3842 6.07234C12.2624 6.02188 12.1319 5.99591 12 5.99591C11.7337 5.99591 11.4783 6.1017 11.29 6.29C11.1968 6.38324 11.1228 6.49393 11.0723 6.61575C11.0219 6.73758 10.9959 6.86814 10.9959 7C10.9959 7.2663 11.1017 7.5217 11.29 7.71L14.59 11H7C6.73478 11 6.48043 11.1054 6.29289 11.2929C6.10536 11.4804 6 11.7348 6 12C6 12.2652 6.10536 12.5196 6.29289 12.7071C6.48043 12.8946 6.73478 13 7 13H14.59L11.29 16.29C11.1963 16.383 11.1219 16.4936 11.0711 16.6154C11.0203 16.7373 10.9942 16.868 10.9942 17C10.9942 17.132 11.0203 17.2627 11.0711 17.3846C11.1219 17.5064 11.1963 17.617 11.29 17.71C11.383 17.8037 11.4936 17.8781 11.6154 17.9289C11.7373 17.9797 11.868 18.0058 12 18.0058C12.132 18.0058 12.2627 17.9797 12.3846 17.9289C12.5064 17.8781 12.617 17.8037 12.71 17.71L17.71 12.71C17.801 12.6149 17.8724 12.5028 17.92 12.38C18.02 12.1365 18.02 11.8635 17.92 11.62Z" fill="#000"></path></svg></button><button type="button" @click="sendMessage('Is my data stored in the EU?')"
618                    class="flex gap-2 items-center py-3 px-4 rounded-full border-none shadow-sm transition-all duration-200 ease-in-out cursor-pointer outline-none md:px-3 active:scale-90 md:py-[9px] hover:brightness-110 active:brightness-75"
619                    style="background: rgba(249, 250, 251, 1);"
620                    data-umami-event="agent-suggestion"
621                    data-umami-event-label="Is my data stored in the EU?"><span class="text-base font-normal leading-tight text-black md:text-sm">Is my data stored in the EU?</span><svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="flex-none"><path d="M17.92 11.62C17.8724 11.4973 17.801 11.3851 17.71 11.29L12.71 6.29C12.6168 6.19676 12.5061 6.1228 12.3842 6.07234C12.2624 6.02188 12.1319 5.99591 12 5.99591C11.7337 5.99591 11.4783 6.1017 11.29 6.29C11.1968 6.38324 11.1228 6.49393 11.0723 6.61575C11.0219 6.73758 10.9959 6.86814 10.9959 7C10.9959 7.2663 11.1017 7.5217 11.29 7.71L14.59 11H7C6.73478 11 6.48043 11.1054 6.29289 11.2929C6.10536 11.4804 6 11.7348 6 12C6 12.2652 6.10536 12.5196 6.29289 12.7071C6.48043 12.8946 6.73478 13 7 13H14.59L11.29 16.29C11.1963 16.383 11.1219 16.4936 11.0711 16.6154C11.0203 16.7373 10.9942 16.868 10.9942 17C10.9942 17.132 11.0203 17.2627 11.0711 17.3846C11.1219 17.5064 11.1963 17.617 11.29 17.71C11.383 17.8037 11.4936 17.8781 11.6154 17.9289C11.7373 17.9797 11.868 18.0058 12 18.0058C12.132 18.0058 12.2627 17.9797 12.3846 17.9289C12.5064 17.8781 12.617 17.8037 12.71 17.71L17.71 12.71C17.801 12.6149 17.8724 12.5028 17.92 12.38C18.02 12.1365 18.02 11.8635 17.92 11.62Z" fill="#000"></path></svg></button></div></div><!-- Input Field --><form @submit.prevent="sendMessage(input)" class="flex overflow-hidden relative flex-1 gap-2 items-center py-2 px-3 min-w-0 h-12 rounded-lg md:py-1 md:px-2 md:h-10 bg-neutral-50"><div x-show="messages.length === 0 && !loading"
622               class="absolute inset-0 z-10 pointer-events-none"
623               style="background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 60%, transparent 100%);
624                      animation: holofin-agent-shimmer 10s ease-in-out infinite both;"></div><svg width="20" height="20" viewBox="0 0 24 26" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="shrink-0"><path d="M8.25332 5.94136C8.48518 5.33853 8.60111 5.03711 8.76847 4.94968C8.91352 4.87389 9.08648 4.87389 9.23153 4.94968C9.39889 5.03711 9.51482 5.33853 9.74668 5.94136L10.8108 8.70798C11.0646 9.36788 11.1915 9.69784 11.3888 9.97538C11.5637 10.2214 11.7786 10.4363 12.0246 10.6112C12.3022 10.8085 12.6321 10.9354 13.292 11.1892L16.0586 12.2533C16.
6246615 12.4852 16.9629 12.6011 17.0503 12.7685C17.1261 12.9135 17.1261 13.0865 17.0503 13.2315C16.9629 13.3989 16.6615 13.5148 16.0586 13.7467L13.292 14.8108C12.6321 15.0646 12.3022 15.1915 12.0246 15.3888C11.7786 15.5637 11.5637 15.7786 11.3888 16.0246C11.1915 16.3022 11.0646 16.6321 10.8108 17.292L9.74668 20.0586C9.51482 20.6615 9.39889 20.9629 9.23153 21.0503C9.08648 21.1261 8.91352 21.1261 8.76847 21.0503C8.60111 20.9629 8.48518 20.6615 8.25333 20.0586L7.18924 17.292C6.93543 16.6321 6.80852 16.3022 6.61118 16.0246C6.43627 15.7786 6.22136 15.5637 5.97538 15.3888C5.69784 15.1915 5.36788 15.0646 4.70798 14.8108L1.94136 13.7467C1.33853 13.5148 1.03711 13.3989 0.949676 13.2315C0.873893 13.0865 0.873893 12.9135 0.949676 12.7685C1.03711 12.6011 1.33853 12.4852 1.94136 12.2533L4.70798 11.1892C5.36788 10.9354 5.69784 10.8085 5.97538 10.6112C6.22136 10.4363 6.43627 10.2214 6.61118 9.97538C6.80852 9.69784 6.93543 9.36788 7.18924 8.70798L8.25332 5.94136Z" fill="url(#holofin-sparkle-0)"></path><path d="M18.7533 1.44136C18.9852 0.838528 19.1011 0.537113 19.2685 0.449676C19.4135 0.373893 19.5865 0.373893 19.7315 0.449676C19.8989 0.537113 20.0148 0.838528 20.2467 1.44136L20.4054 1.85399C20.5323 2.18394 20.5957 2.34892 20.6944 2.48769C20.7819 2.61068 20.8893 2.71814 21.0123 2.80559C21.1511 2.90426 21.3161 2.96771 21.646 3.09462L22.0586 3.25332C22.6615 3.48518 22.9629 3.60111 23.0503 3.76847C23.1261 3.91352 23.1261 4.08648 23.0503 4.23153C22.9629 4.39889 22.6615 4.51482 22.0586 4.74668L21.646 4.90538C21.3161 5.03229 21.1511 5.09574 21.0123 5.19441C20.8893 5.28187 20.7819 5.38932 20.6944 5.51231C20.5957 5.65108 20.5323 5.81606 20.4054 6.14601L20.2467 6.55864C20.0148 7.16147 19.8989 7.46289 19.7315 7.55032C19.5865 7.62611 19.4135 7.62611 19.2685 7.55032C19.1011 7.46289 18.9852 7.16147 18.7533 6.55864L18.5946 6.14601C18.4677 5.81606 18.4043 5.65108 18.3056 5.51231C18.2181 5.38932 18.1107 5.28187 17.9877 5.19441C17.8489 5.09574 17.6839 5.03229 17.354 4.90538L16.9414 4.74668C16.3385 4.51482 16.0371 4.39889 15.9497 4.23153C15.8739 4.08648 15.8739 3.91352 15.9497 3.76847C16.0371 3.60111 16.3385 3.48518 16.9414 3.25332L17.354 3.09462C17.6839 2.96772 17.8489 2.90426 17.9877 2.80559C18.1107 2.71814 18.2181 2.61068 18.3056 2.48769C18.4043 2.34892 18.4677 2.18394 18.5946 1.85399L18.7533 1.44136Z" fill="url(#holofin-sparkle-1)"></path><path d="M18.7533 19.4414C18.9852 18.8385 19.1011 18.5371 19.2685 18.4497C19.4135 18.3739 19.5865 18.3739 19.7315 18.4497C19.8989 18.5371 20.0148 18.8385 20.2467 19.4414L20.4054 19.854C20.5323 20.1839 20.5957 20.3489 20.6944 20.4877C20.7819 20.6107 20.8893 20.7181 21.0123 20.8056C21.1511 20.9043 21.3161 20.9677 21.646 21.0946L22.0586 21.2533C22.6615 21.4852 22.9629 21.6011 23.0503 21.7685C23.1261 21.9135 23.1261 22.0865 23.0503 22.2315C22.9629 22.3989 22.6615 22.5148 22.0586 22.7467L21.646 22.9054C21.3161 23.0323 21.1511 23.0957 21.0123 23.1944C20.8893 23.2819 20.7819 23.3893 20.6944 23.5123C20.5957 23.6511 20.5323 23.8161 20.4054 24.146L20.2467 24.5586C20.0148 25.1615 19.8989 25.4629 19.7315 25.5503C19.5865 25.6261 19.4135 25.6261 19.2685 25.5503C19.1011 25.4629 18.9852 25.1615 18.7533 24.5586L18.5946 24.146C18.4677 23.8161 18.4043 23.6511 18.3056 23.5123C18.2181 23.3893 18.1107 23.2819 17.9877 23.1944C17.8489 23.0957 17.6839 23.0323 17.354 22.9054L16.9414 22.7467C16.3385 22.5148 16.0371 22.3989 15.9497 22.2315C15.8739 22.0865 15.8739 21.9135 15.9497 21.7685C16.0371 21.6011 16.3385 21.4852 16.9414 21.2533L17.354 21.0946C17.6839 20.9677 17.8489 20.9043 17.9877 20.8056C18.1107 20.7181 18.2181 20.6107 18.3056 20.4877C18.4043 20.3489 18.4677 20.1839 18.5946 19.854L18.7533 19.4414Z" fill="url(#holofin-sparkle-2)"></path><defs><linearGradient id="holofin-sparkle-0" x1="0.375" y1="3.25" x2="17.25" y2="22.75" gradientUnits="userSpaceOnUse"><stop offset="0%" stop-color="#254b45"></stop><stop offset="40%" stop-color="rgba(37,75,69,0.7)"></stop><stop offset="100%" stop-color="rgba(180,218,183,0.5)"></stop></linearGradient><linearGradient id="holofin-sparkle-1" x1="15.1875" y1="-0.875" x2="23.625" y2="8.875" gradientUnits="userSpaceOnUse"><stop offset="0%" stop-color="#254b45"></stop><stop offset="40%" stop-color="rgba(37,75,69,0.7)"></stop><stop offset="100%" stop-color="rgba(180,218,183,0.5)"></stop></linearGradient><linearGradient id="holofin-sparkle-2" x1="15.1875" y1="17.125" x2="23.625" y2="26.875" gradientUnits="userSpaceOnUse"><stop offset="0%" stop-color="#254b45"></stop><stop offset="40%" stop-color="rgba(37,75,69,0.7)"></stop><stop offset="100%" stop-color="rgba(180,218,183,0.5)"></stop></linearGradient></defs></svg><input x-model="input"
625                 class="flex-1 min-w-0 border-none outline-none bg-transparent font-normal leading-[1.35em] p-0 text-black
626                        placeholder:font-normal placeholder:text-[#737373] focus:ring-0 focus:outline-none"
627                 type="text" placeholder="Ask anything about Holofin" enterkeyhint="send"
628                 autocomplete="off" autocapitalize="sentences" :disabled="loading || typing" style="font-size: 16px;"><button type="submit" :disabled="loading || typing || !input.trim()"
629                  class="flex justify-center items-center p-1 bg-none border-none transition-all duration-150 cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed group"
630                  aria-label="Send message"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" class="transition-all duration-150 group-hover:scale-110 group-active:scale-90"><rect width="24" height="24" rx="12" fill="#254b45"></rect><path d="M17.7102 11.29L12.7102 6.29C12.6151 6.19896 12.5029 6.1276 12.3802 6.08C12.1367 5.97999 11.8636 5.97999 11.6202 6.08C11.4974 6.1276 11.3853 6.19896 11.2902 6.29L6.29019 11.29C6.19695 11.3832 6.12299 11.4939 6.07253 11.6158C6.02207 11.7376 5.99609 11.8681 5.99609 12C5.99609 12.2663 6.10188 12.5217 6.29019 12.71C6.47849 12.8983 6.73388 13.0041 7.00019 13.0041C7.26649 13.0041 7.52188 12.8983 7.71019 12.71L11.0002 9.41V17C11.0002 17.2652 11.1055 17.5196 11.2931 17.7071C11.4806 17.8946 11.735 18 12.0002 18C12.2654 18 12.5198 17.8946 12.7073 17.7071C12.8948 17.5196 13.0002 17.2652 13.0002 17V9.41L16.2902 12.71C16.3831 12.8037 16.4937 12.8781 16.6156 12.9289C16.7375 12.9797 16.8682 13.0058 17.0002 13.0058C17.1322 13.0058 17.2629 12.9797 17.3848 12.9289C1
6307.5066 12.8781 17.6172 12.8037 17.7102 12.71C17.8039 12.617 17.8783 12.5064 17.9291 12.3846C17.9798 12.2627 18.006 12.132 18.006 12C18.006 11.868 17.9798 11.7373 17.9291 11.6154C17.8783 11.4936 17.8039 11.383 17.7102 11.29Z" fill="white"></path></svg></button></form></div></div></div><!-- ===== EXPANDED CHAT (after first message, Rose-style) ===== --><!-- Chat panel (bottom-right, slides up) --><div x-show="visible && expanded && (messages.length > 0 || loading)"
631       x-transition:enter="transition ease-out duration-300"
632       x-transition:enter-start="opacity-0 translate-y-4"
633       x-transition:enter-end="opacity-100 translate-y-0"
634       x-transition:leave="transition ease-in duration-200"
635       x-transition:leave-start="opacity-100 translate-y-0"
636       x-transition:leave-end="opacity-0 translate-y-4"
637       class="fixed bottom-0 left-1/2 -translate-x-1/2"
638       style="z-index: 50; width: min(1080px, calc(100vw - 40px)); height: min(max(67vh, 536px), 600px);"><div class="flex overflow-hidden relative flex-col w-full h-full bg-white rounded-t-2xl shadow-2xl transition-all duration-300 ease-in-out"
639         style="border: 1px solid #e8e8e8; padding: 0 0 12px 0;"><!-- Close button (top-right) --><div class="absolute top-3 right-3 z-10"><button type="button" @click="expanded = false"
640              class="p-2 rounded-full transition-colors duration-200 hover:bg-gray-100"
641              aria-label="Close"><svg width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M5 5L15 15M15 5L5 15" stroke="#656565" stroke-width="2" stroke-linecap="round"></path></svg></button></div><!-- Chat Body (scrollable) --><div x-ref="chatArea" class="overflow-y-auto holofin-chat-scroll" style="flex: 1 1 0%; align-self: stretch; scrollbar-gutter: stable both-edges; scroll-behavior: smooth; min-height: 0;"><div class="flex flex-col gap-6" style="width: 100%; max-width: 800px; margin: 0 auto; padding: 20px 40px 0;"><template x-for="(msg, i) in messages" :key="i"><div><!-- User message: right-aligned bubble --><div x-show="msg.role === 'user'" class="flex justify-end mb-8"><div class="px-2.5 py-1 rounded-xl text-base max-w-[50%]"
642                   style="background: rgba(37, 75, 69, 0.1); color: #1a1a1a;"><span x-text="msg.content"></span></div></div><!-- Assistant message: left-aligned streamed HTML --><div x-show="msg.role === 'assistant'" class="text-gray-800 text-[17px] leading-[1.8]"><div x-show="!msg.done" class="holofin-stream-content" :id="'hf-stream-' + i"></div><div x-show="msg.done" class="holofin-stream-content" x-html="msg.content"></div><!-- Demo booking CTA: attached by the server when the agent offers a demo --><template x-if="msg.done && msg.cta"><div class="mt-4 mb-2"><a :href="msg.cta.url" target="_blank" rel="noopener"
643                     @click="trackDemoCtaClick()"
644                     data-umami-event="agent-demo-cta-clicked"
645                     class="inline-flex gap-1.5 items-center py-2 px-4 text-sm font-bold text-white no-underline rounded-full border-none transition-all duration-200 cursor-pointer hover:shadow-lg active:scale-90 hover:brightness-110"
646             style="background: #254b45;"><span x-text="msg.cta.label"></span><svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="shrink-0"><path d="M17.92 11.62C17.8724 11.4973 17.801 11.3851 17.71 11.29L12.71 6.29C12.6168 6.19676 12.5061 6.1228 12.3842 6.07234C12.2624 6.02188 12.1319 5.99591 12 5.99591C11.7337 5.99591 11.4783 6.1017 11.29 6.29C11.1968 6.38324 11.1228 6.49393 11.0723 6.61575C11.0219 6.73758 10.9959 6.86814 10.9959 7C10.9959 7.2663 11.1017 7.5217 11.29 7.71L14.59 11H7C6.73478 11 6.48043 11.1054 6.29289 11.2929C6.10536 11.4804 6 11.7348 6 12C6 12.2652 6.10536 12.5196 6.29289 12.7071C6.48043 12.8946 6.73478 13 7 13H14.59L11.29 16.29C11.1963 16.383 11.1219 16.4936 11.0711 16.6154C11.0203 16.7373 10.9942 16.868 10.9942 17C10.9942 17.132 11.0203 17.2627 11.0711 17.3846C11.1219 17.5064 11.1963 17.617 11.29 17.71C11.383 17.8037 11.4936 17.8781 11.6154 17.9289C11.7373 17.9797 11.868 18.0058 12 18.0058C12.132 18.0058 12.2627 17.9797 12.3846 17.9289C12.5064 17.8781 12.617 17.8037 12.71 17.71L17.71 12.71C17.801 12.6149 17.8724 12.5028 17.92 12.38C18.02 12.1365 18.02 11.8635 17.92 11.62Z" fill="#FFFFFF"></path></svg></a></div></template><!-- Follow-up questions --><template x-if="msg.done && msg.followUps && msg.followUps.length > 0"><div class="mt-6 mb-6"><p class="mb-3 text-sm font-medium text-black"
647                     style="animation: holofin-followup-fade 0.4s ease-out forwards; opacity: 0;">Related questions</p><div class="flex flex-col gap-2.5"><template x-for="(q, qi) in msg.followUps" :key="qi"><button type="button" @click="sendMessage(q)"
648                              class="flex justify-between items-center py-2 px-3 max-w-full text-base font-normal text-left text-black bg-white transition-all duration-150 cursor-pointer active:translate-y-
648px rounded-[100px] group leading-[22px] w-fit hover:bg-neutral-100 active:bg-neutral-200"
649                              :style="'border:1px solid rgba(37,75,69,0.1); background-image: linear-gradient(rgba(37,75,69,0.03), rgba(37,75,69,0.03)); animation: holofin-followup-slide 0.5s ease-out ' + (0.2 + qi * 0.1) + 's forwards; opacity:0; transform:translateY(12px)'"><span class="flex-1" x-text="q"></span><svg width="20" height="20" viewBox="0 0 20 20" fill="none" class="flex-none ml-3 text-[#505050] transition-transform group-hover:translate-x-1" aria-hidden="true"><path d="M5 10H15M15 10L10 5M15 10L10 15" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></button></template></div></div></template></div></div></template><!-- Loading indicator --><div x-show="loading" class="h-6 text-gray-400 text-[15px]"><span x-text="loadingText"
650                class="inline-block transition-opacity duration-300 ease-in-out"
651                :style="'opacity: ' + (loadingTextVisible ? '1' : '0')"></span></div></div></div><!-- Bottom wrapper (Book a demo + Input + Footer) --><div class="flex flex-col gap-2 mx-auto mb-0 transition-all duration-300 ease-in-out shrink-0"
652         style="width: min(800px, calc(100% - 40px));"><div class="backdrop-blur-[25px] backdrop-saturate-[180%] border border-white/[0.18]"
653           style="background: linear-gradient(135deg, rgba(37, 75, 69, 0.35) 0%, rgba(37, 75, 69, 0.2) 100%); border-radius: 8px; padding: 0; box-shadow: none;"><div class="flex flex-col p-2 gap-[10px]"><!-- Book a demo CTA --><div class="flex flex-wrap items-start gap-[10px]"><a :href="demoUrl()" target="_blank" rel="noopener"
654             data-umami-event="agent-demo-button"
655             class="inline-flex gap-1.5 items-center py-2 px-4 text-sm font-bold text-white no-underline rounded-full border-none transition-all duration-200 cursor-pointer hover:shadow-lg active:scale-90 hover:brightness-110"
656             style="background: #254b45;">
657            Book a demo
658            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" class="shrink-0"><path d="M17.92 11.62C17.8724 11.4973 17.801 11.3851 17.71 11.29L12.71 6.29C12.6168 6.19676 12.5061 6.1228 12.3842 6.07234C12.2624 6.02188 12.1319 5.99591 12 5.99591C11.7337 5.99591 11.4783 6.1017 11.29 6.29C11.1968 6.38324 11.1228 6.49393 11.0723 6.61575C11.0219 6.73758 10.9959 6.86814 10.9959 7C10.9959 7.2663 11.1017 7.5217 11.29 7.71L14.59 11H7C6.73478 11 6.48043 11.1054 6.29289 11.2929C6.10536 11.4804 6 11.7348 6 12C6 12.2652 6.10536 12.5196 6.29289 12.7071C6.48043 12.8946 6.73478 13 7 13H14.59L11.29 16.29C11.1963 16.383 11.1219 16.4936 11.0711 16.6154C11.0203 16.7373 10.9942 16.868 10.9942 17C10.9942 17.132 11.0203 17.2627 11.0711 17.3846C11.1219 17.5064 11.1963 17.617 11.29 17.71C11.383 17.8037 11.4936 17.8781 11.6154 17.9289C11.7373 17.9797 11.868 18.0058 12 18.0058C12.132 18.0058 12.2627 17.9797 12.3846 17.9289C12.5064 17.8781 12.617 17.8037 12.71 17.71L17.71 12.71C17.801 12.6149 17.8724 12.5028 17.92 12.38C18.02 12.1365 18.02 11.8635 17.92 11.62Z" fill="#FFFFFF"></path></svg></a></div><!-- Input field --><form @submit.prevent="sendMessage(input)"
659                class="flex relative flex-1 gap-2 items-center py-1 px-2 min-w-0 h-10 rounded-lg bg-neutral-50"><svg width="18" height="18" viewBox="0 0 24 26" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="shrink-0"><path d="M8.25332 5.94136C8.48518 5.33853 8.60111 5.03711 8.76847 4.94968C8.91352 4.87389 9.08648 4.87389 9.23153 4.94968C9.39889 5.03711 9.51482 5.33853 9.74668 5.94136L10.8108 8.70798C11.0646 9.36788 11.1915 9.69784 11.3888 9.97538C11.5637 10.2214 11.7786 10.4363 12.0246 10.6112C12.3022 10.8085 12.6321 10.9354 13.292 11.1892L16.0586 12.2533C16.6615 12.4852 16.9629 12.6011 17.0503 12.7685C17.1261 12.9135 17.1261 13.0865 17.0503 13.2315C16.9629 13.3989 16.6615 13.5148 16.0586 13.7467L13.292 14.8108C12.6321 15.0646 12.3022 15.1915 12.0246 15.3888C11.7786 15.5637 11.5637 15.7786 11.3888 16.0246C11.1915 16.3022 11.0646 16.6321 10.8108 17.292L9.74668 20.0586C9.51482 20.6615 9.39889 20.9
659629 9.23153 21.0503C9.08648 21.1261 8.91352 21.1261 8.76847 21.0503C8.60111 20.9629 8.48518 20.6615 8.25333 20.0586L7.18924 17.292C6.93543 16.6321 6.80852 16.3022 6.61118 16.0246C6.43627 15.7786 6.22136 15.5637 5.97538 15.3888C5.69784 15.1915 5.36788 15.0646 4.70798 14.8108L1.94136 13.7467C1.33853 13.5148 1.03711 13.3989 0.949676 13.2315C0.873893 13.0865 0.873893 12.9135 0.949676 12.7685C1.03711 12.6011 1.33853 12.4852 1.94136 12.2533L4.70798 11.1892C5.36788 10.9354 5.69784 10.8085 5.97538 10.6112C6.22136 10.4363 6.43627 10.2214 6.61118 9.97538C6.80852 9.69784 6.93543 9.36788 7.18924 8.70798L8.25332 5.94136Z" fill="#254b45" opacity="0.5"></path><path d="M18.7533 1.44136C18.9852 0.838528 19.1011 0.537113 19.2685 0.449676C19.4135 0.373893 19.5865 0.373893 19.7315 0.449676C19.8989 0.537113 20.0148 0.838528 20.2467 1.44136L20.4054 1.85399C20.5323 2.18394 20.5957 2.34892 20.6944 2.48769C20.7819 2.61068 20.8893 2.71814 21.0123 2.80559C21.1511 2.90426 21.3161 2.96771 21.646 3.09462L22.0586 3.25332C22.6615 3.48518 22.9629 3.60111 23.0503 3.76847C23.1261 3.91352 23.1261 4.08648 23.0503 4.23153C22.9629 4.39889 22.6615 4.51482 22.0586 4.74668L21.646 4.90538C21.3161 5.03229 21.1511 5.09574 21.0123 5.19441C20.8893 5.28187 20.7819 5.38932 20.6944 5.51231C20.5957 5.65108 20.5323 5.81606 20.4054 6.14601L20.2467 6.55864C20.0148 7.16147 19.8989 7.46289 19.7315 7.55032C19.5865 7.62611 19.4135 7.62611 19.2685 7.55032C19.1011 7.46289 18.9852 7.16147 18.7533 6.55864L18.5946 6.14601C18.4677 5.81606 18.4043 5.65108 18.3056 5.51231C18.2181 5.38932 18.1107 5.28187 17.9877 5.19441C17.8489 5.09574 17.6839 5.03229 17.354 4.90538L16.9414 4.74668C16.3385 4.51482 16.0371 4.39889 15.9497 4.23153C15.8739 4.08648 15.8739 3.91352 15.9497 3.76847C16.0371 3.60111 16.3385 3.48518 16.9414 3.25332L17.354 3.09462C17.6839 2.96772 17.8489 2.90426 17.9877 2.80559C18.1107 2.71814 18.2181 2.61068 18.3056 2.48769C18.4043 2.34892 18.4677 2.18394 18.5946 1.85399L18.7533 1.44136Z" fill="#254b45" opacity="0.3"></path><path d="M18.7533 19.4414C18.9852 18.8385 19.1011 18.5371 19.2685 18.4497C19.4135 18.3739 19.5865 18.3739 19.7315 18.4497C19.8989 18.5371 20.0148 18.8385 20.2467 19.4414L20.4054 19.854C20.5323 20.1839 20.5957 20.3489 20.6944 20.4877C20.7819 20.6107 20.8893 20.7181 21.0123 20.8056C21.1511 20.9043 21.3161 20.9677 21.646 21.0946L22.0586 21.2533C22.6615 21.4852 22.9629 21.6011 23.0503 21.7685C23.1261 21.9135 23.1261 22.0865 23.0503 22.2315C22.9629 22.3989 22.6615 22.5148 22.0586 22.7467L21.646 22.9054C21.3161 23.0323 21.1511 23.0957 21.0123 23.1944C20.8893 23.2819 20.7819 23.3893 20.6944 23.5123C20.5957 23.6511 20.5323 23.8161 20.4054 24.146L20.2467 24.5586C20.0148 25.1615 19.8989 25.4629 19.7315 25.5503C19.5865 25.6261 19.4135 25.6261 19.2685 25.5503C19.1011 25.4629 18.9852 25.1615 18.7533 24.5586L18.5946 24.146C18.4677 23.8161 18.4043 23.6511 18.3056 23.5123C18.2181 23.3893 18.1107 23.2819 17.9877 23.1944C17.8489 23.0957 17.6839 23.0323 17.354 22.9054L16.9414 22.7467C16.3385 22.5148 16.0371 22.3989 15.9497 22.2315C15.8739 22.0865 15.8739 21.9135 15.9497 21.7685C16.0371 21.6011 16.3385 21.4852 16.9414 21.2533L17.354 21.0946C17.6839 20.9677 17.8489 20.9043 17.9877 20.8056C18.1107 20.7181 18.2181 20.6107 18.3056 20.4877C18.4043 20.3489 18.4677 20.1839 18.5946 19.854L18.7533 19.4414Z" fill="#254b45" opacity="0.3"></path></svg><input x-model="input" x-ref="chatInput"
660                   class="flex-1 p-0 min-w-0 font-normal text-gray-900 bg-transparent border-none outline-none focus:ring-0 focus:outline-none leading-[1.35em] placeholder:text-gray-400"
661                   type="text" placeholder="What else can I help you with?" enterkeyhint="send"
662                   autocomplete="off" autocapitalize="sentences" :disabled="loading || typing" style="font-size: 15px;"><button type="submit" :disabled="loading || typing || !input.trim()"
663                    class="flex justify-center items-center p-1 bg-none border-none transition-all duration-150 cursor-pointer disabled:opacity-30 disabled:cursor-not-allowed group"
664                    aria-label="Send message"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" class="transition-all duration-150 group-hover:scale-110 group-active:scale-90"><rect width="24" height="24" rx="12" fill="#254b45"></rect><path d="M17.7102 11.29L12.7102 6.29C12.6151 6.19896 12.5029 6.1276 12.3802 6.08C12.1367 5.97999 11.8636 5.97999 11.6202 6.08C11.4974 6.1276 11.3853 6.19896 11.2902 6.29L6.29019 11.29C6.19695 11.3832 6.12299 11.4939 6.07253 11.6158C6.02207 11.7376 5.99609 11.8681 5.99609 12C5.99609 12.2663 6.10188 12.5217 6.29019 12.71C6.47849 12.8983 6.73388 13.0041 7.00019 13.0041C7.26649 13.0041 7.52188 12.8983 7.71019 12.71L11.0002 9.41V17C11.0002 17.2652 11.1055 17.5196 11.2931 17.7071C11.4806 17.8946 11.735 18 12.0002 18C12.2654 18 12.5198 17.8946 12.7073 17.7071C12.8948 17.5196 13.0002 17.2652 13.0002 17V9.41L16.2902 12.71C16.3831 12.8037 16.4937 12.8781 16.6156 12.9289C16.7375 12.9797 16.8682 13.0058 17.0002 13.0058C17.1322 13.0058 17.2629 12.9797 17.3848 12.9289C1
6647.5066 12.8781 17.6172 12.8037 17.7102 12.71C17.8039 12.617 17.8783 12.5064 17.9291 12.3846C17.9798 12.2627 18.006 12.132 18.006 12C18.006 11.868 17.9798 11.7373 17.9291 11.6154C17.8783 11.4936 17.8039 11.383 17.7102 11.29Z" fill="white"></path></svg></button></form></div><!-- /flex col p-2 gap --><!-- Disclaimer --><div class="px-2 pb-2"><div class="w-full h-4 flex items-center justify-center gap-1.5 text-xs leading-4 text-[#737373] select-none"><span class="hidden sm:inline">Answers may be incomplete</span><span aria-hidden="true">&middot;</span><span class="hidden sm:inline">AI Agent powered by</span><span class="font-semibold">Holofin</span></div></div></div><!-- /glass container --></div><!-- /bottom wrapper --></div><!-- /inner panel --></div><!-- /chat panel wrapper --></div><!-- /x-data root --><!-- Widget Animations --><style>
665  @keyframes holofin-agent-shimmer {
666    0% { transform: translateX(-100%); }
667    20% { transform: translateX(200%); }
668    100% { transform: translateX(200%); }
669  }
670  @keyframes holofin-cursor-blink {
671    0%, 100% { opacity: 1; }
672    50% { opacity: 0; }
673  }
674  @keyframes holofin-followup-fade {
675    from { opacity: 0; transform: translateY(4px); }
676    to { opacity: 1; transform: translateY(0); }
677  }
678  @keyframes holofin-followup-slide {
679    from { opacity: 0; transform: translateY(12px); }
680    to { opacity: 1; transform: translateY(0); }
681  }
682  .holofin-stream-content ul { margin-left: 16px; list-style-type: disc; margin-bottom: 12px; }
683  .holofin-stream-content li { margin-bottom: 2px; }
684  .holofin-stream-content strong { font-weight: 600; }
685  .holofin-stream-content div:last-child { margin-bottom: 0; }
686  .holofin-chat-scroll::-webkit-scrollbar { width: 4px; }
687  .holofin-chat-scroll::-webkit-scrollbar-track { background: transparent; }
688  .holofin-chat-scroll::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }
689  @media (prefers-reduced-motion: reduce) {
690    [style*="holofin-followup"] { animation: none !important; opacity: 1 !important; transform: none !important; }
691  }
692</style>
692<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"12a783fddd3b43e0b3b6d9727e7bebc5","spa":2}' crossorigin="anonymous"></script>
692
693</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.