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]">→</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 →</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 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">© 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, '&').replace(/</g, '<').replace(/>/g, '>') 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">·</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.