// Translations + i18n helper.
// v3 brand-owned brief. NL is source of truth; EN is variant.
// Voice: direct, strategy-led, specific, calm. Numbers go in mono.

const T = {
  // ============================================================
  // GLOBAL CHROME, nav + footer
  // ============================================================
  'nav.services': { nl: 'Diensten', en: 'Services' },
  'nav.approach': { nl: 'Aanpak', en: 'How we work' },
  'nav.cases':    { nl: 'Cases', en: 'Cases' },
  'nav.pricing':  { nl: 'Prijzen', en: 'Pricing' },
  'nav.about':    { nl: 'Team', en: 'Team' },
  'nav.faq':      { nl: 'FAQ', en: 'FAQ' },
  'nav.contact':  { nl: 'Contact', en: 'Contact' },
  'nav.cta':      { nl: 'Boek Quick Scan', en: 'Book Quick Scan' },

  // ============================================================
  // 1, HERO
  // ============================================================
  'hero.eyebrow': {
    nl: 'LISTEN · MAP · BUILD · CARE',
    en: 'LISTEN · MAP · BUILD · CARE'
  },
  'hero.h1.l1': { nl: 'Eerst je proces.', en: 'Your process first.' },
  'hero.h1.l2': { nl: 'Dan de AI.', en: 'Then the AI.' },
  'hero.strap': {
    nl: 'We leveren geen projecten. We optimaliseren jouw operations.',
    en: 'We don’t deliver projects. We optimise your operations.'
  },
  'hero.fomo.title': { nl: 'Je concurrenten zetten al in op AI. Jij ook?', en: 'Your competitors are already using AI. Are you?' },
  'hero.fomo.cta':   { nl: 'Start nu met een Quick Scan', en: 'Start now with a Quick Scan' },
  'hero.sub': {
    nl: 'We kijken waar je team vandaag tijd verliest in mailboxen, offertes, rapportering, documenten, planning of opvolging, en bouwen automatiseringen in de systemen die je al gebruikt. Geen extra toolchaos. Wel werkende flows met een duidelijke business case.',
    en: 'We look at where your team loses time today, in inboxes, quotes, reporting, documents, planning or follow-up, and build automations inside the tools you already use. No extra tool chaos. Working flows with a clear business case.'
  },
  'hero.cta.primary':   { nl: 'Boek een Quick Scan', en: 'Book a Quick Scan' },
  'hero.cta.price':     { nl: '\u20AC1.199', en: '\u20AC1,199' },
  'hero.cta.secondary': { nl: 'Ontdek onze aanpak', en: 'Discover our approach' },
  'hero.trust.line': {
    nl: 'BRUSSEL + VLAANDEREN \u00B7 NL/EN \u00B7 LISTEN \u00B7 MAP \u00B7 BUILD \u00B7 CARE',
    en: 'BRUSSELS + FLANDERS \u00B7 NL/EN \u00B7 LISTEN \u00B7 MAP \u00B7 BUILD \u00B7 CARE'
  },

  // ============================================================
  // 2, APPROACH (Audit → Build → Care)
  // ============================================================
  'approach.eyebrow': { nl: '02 · AANPAK', en: '02 · HOW WE WORK' },
  'approach.h2': {
    nl: 'We luisteren eerst. We bouwen alleen wat een business case heeft.',
    en: 'We listen first. We only build what has a business case.'
  },
  'approach.lede': {
    nl: 'We starten niet bij de tool. We starten bij hoe het werk vandaag loopt. We luisteren naar je team, brengen processen en fricties in kaart, kiezen alleen de use-cases die echt waarde opleveren en bouwen daarna oplossingen die passen in je bestaande systemen.',
    en: 'We don’t start with the tool. We start with how the work actually runs today. We listen to your team, map processes and friction, pick only the use cases that actually pay off, then build solutions that fit inside the systems you already use.'
  },

  'approach.audit.label': { nl: '01 · SCAN', en: '01 · SCAN' },
  'approach.audit.title': { nl: 'Quick Scan', en: 'Quick Scan' },
  'approach.audit.body': {
    nl: 'Intake call op je 1 of 2 prio processen. We bespreken concrete use-cases, kijken samen met je team naar adoption-readiness (is je organisatie wel klaar voor AI-integratie?), en leveren concrete aanbevelingen en een schriftelijk plan. Geen volledig overzicht, wel concreet.',
    en: 'Intake call on your 1 or 2 priority processes. We discuss concrete use cases, check adoption readiness of your team (is your organisation AI-ready?), and deliver recommendations and a written plan. Not a full overview, but concrete.'
  },
  'approach.audit.price': { nl: '\u20AC1.199', en: '\u20AC1,199' },
  'approach.audit.dur': { nl: '', en: '' },
  'approach.audit.cta': { nl: 'Start hier', en: 'Start here' },

  'approach.build.label': { nl: '02 · BUILD', en: '02 · BUILD' },
  'approach.build.title': { nl: 'Starter Build', en: 'Starter Build' },
  'approach.build.body': {
    nl: 'Concrete uitwerking van 1 use-case, live in productie in 4 weken. Vaste scope, vaste prijs. We werken in jouw tools, CRM, Microsoft 365, Google Workspace, of in de omgeving die je al gebruikt. 30 dagen post-launch fixes inbegrepen. Daarna is de oplossing van jou.',
    en: 'Concrete implementation of 1 use case, live in production in 4 weeks. Fixed scope, fixed fee. We work in your tools, CRM, Microsoft 365, Google Workspace, or wherever you already run your operations. 30 days of post-launch fixes included. After that, the solution is yours.'
  },
  'approach.build.price': { nl: 'vanaf \u20AC3.999', en: 'from \u20AC3,999' },
  'approach.build.cta': { nl: 'Lees meer', en: 'Read more' },

  'approach.care.label': { nl: '03 · CARE', en: '03 · CARE' },
  'approach.care.title': { nl: 'Care \u00B7 Care+', en: 'Care \u00B7 Care+' },
  'approach.care.body': {
    nl: 'Optioneel. Niet verplicht om je Build te laten draaien. Twee niveaus: Care houdt je AI draaiend zoals het werd geleverd. Care+ blijft samen bouwen, met elke maand iets nieuws. Maandelijks opzegbaar.',
    en: 'Optional. Not required to keep your Build running. Two levels: Care keeps your AI running as delivered. Care+ keeps building together, adding something new each month. Cancel any month.'
  },
  'approach.care.price': { nl: 'vanaf \u20AC1.200/maand', en: 'from \u20AC1,200/month' },
  'approach.care.dur': { nl: 'maandelijks', en: 'monthly' },
  'approach.care.cta': { nl: 'Meer info', en: 'Read more' },

  // ============================================================
  // 2b, PRINCIPLES + LOOP (lifted from /approach)
  // ============================================================
  'principles.eyebrow': { nl: '03 · WERKWIJZE', en: '03 · METHOD' },
  'principles.kicker':  { nl: 'Onze modus.', en: 'Our modus.' },
  'principles.h2':      { nl: 'Onze zes kernprincipes.', en: 'Our six core principles.' },
  'principles.lede':    { nl: '', en: '' },
  'principles.01.t': { nl: 'De tool volgt het probleem', en: 'The tool follows the problem' },
  'principles.01.d': { nl: 'We beginnen niet bij n8n, Power Automate of LLM’s. We beginnen bij je operations. De juiste tool is degene die het werk betrouwbaar, goedkoop en saai maakt.', en: 'We don’t start with n8n, Power Automate, or LLMs. We start with your operations. The right tool is whichever makes the workflow reliable, cheap, and boring.' },
  'principles.02.t': { nl: 'Kleine wins, maandelijks live', en: 'Small wins, shipped monthly' },
  'principles.02.d': { nl: 'Geen doorlooptijden van zes maanden. Elke maand gaat er iets nieuws live. Elke maand wordt iets goedkoper, efficiënter of opgeruimd.', en: 'No six-month timelines. Every month something new goes live. Every month something gets cheaper, more efficient, or retired.' },
  'principles.03.t': { nl: 'Saaie infrastructuur, interessante leverage', en: 'Boring infrastructure, interesting leverage' },
  'principles.03.d': { nl: 'We jagen geen demos na. We jagen het minder zichtbare technische werk na waardoor je team de output écht durft te vertrouwen.', en: 'We don’t chase demos. We chase the less glamorous technical work that lets your team actually trust the outputs.' },
  'principles.04.t': { nl: 'ROI boven trends', en: 'ROI over trends' },
  'principles.04.d': { nl: 'Verdient een use-case zich niet terug binnen 12 maanden? Dan zeggen we het. We verliezen liever het werk dan dat we iets shippen waar we ons in 2027 voor schamen.', en: 'If a use case doesn’t pay back in 12 months, we tell you. We’d rather lose the work than ship something that embarrasses us both in 2027.' },
  'principles.05.t': { nl: 'Je data blijft van jou', en: 'Your data stays yours' },
  'principles.05.d': { nl: 'We werken zoveel mogelijk binnen je bestaande omgeving. Je data wordt niet zomaar verplaatst, gekopieerd of in onnodige tools gestopt. Waar nodig werken we met jouw tenant, jouw keys en jouw governance.', en: 'We work as much as possible inside your existing environment. Your data isn’t casually moved, copied, or pushed into tools you don’t need. Where needed, we work in your tenant, your keys, your governance.' },
  'principles.06.t': { nl: 'We blijven na go-live', en: 'We stay after go-live' },
  'principles.06.d': { nl: 'We blijven aan boord nadat de oplossing live staat. Ook zonder Care-abonnement krijg je 30 dagen post-launch fixes inbegrepen. Wil je doorlopende support? Care/Care+ is dan een aparte, optionele laag.', en: 'We stick around after the solution goes live. Even without a Care subscription you get 30 days of post-launch fixes included. Want ongoing support? Care/Care+ is a separate, optional layer.' },
  'principles.07.t': { nl: 'In je systemen. Niet erbovenop.', en: 'In your systems. Not on top of them.' },
  'principles.07.d': { nl: 'We integreren waar het kan en bouwen alleen aparte lagen waar het echt nodig is. AI mag geen extra werklast worden, maar moet de manier van werken verbeteren.', en: 'We integrate where we can and only build separate layers when it’s really needed. AI shouldn’t become extra workload, it should improve the way work happens.' },

  'mflow.eyebrow':  { nl: 'M · FLOW', en: 'M · FLOW' },
  'mflow.h2':       { nl: 'Listen → Map → Build → Care.', en: 'Listen → Map → Build → Care.' },
  'mflow.lede':     {
    nl: 'Vier fases, één doorlopend systeem. We starten bij je team, niet bij de tool.\nEn we blijven erbij nadat het live staat.',
    en: 'Four phases, one continuous system. We start with your team, not with the tool.\nAnd we stay after it’s live.'
  },

  'mflow.scan.label':    { nl: '01 · LISTEN', en: '01 · LISTEN' },
  'mflow.scan.title':    { nl: 'We luisteren', en: 'We listen' },
  'mflow.scan.dur':      { nl: '', en: '' },
  'mflow.scan.body':     {
    nl: 'We praten met de mensen die het werk doen en bekijken hoe processen vandaag écht verlopen.',
    en: 'We talk to the people who do the work and look at how processes actually run today.'
  },
  'mflow.scan.price':    { nl: '', en: '' },

  'mflow.build.label':   { nl: '02 · MAP', en: '02 · MAP' },
  'mflow.build.title':   { nl: 'We mappen', en: 'We map' },
  'mflow.build.dur':     { nl: '', en: '' },
  'mflow.build.body':    {
    nl: 'We brengen processen, tools, fricties, uitzonderingen en opportuniteiten in kaart.',
    en: 'We map processes, tools, friction, exceptions and opportunities.'
  },
  'mflow.build.price':   { nl: '', en: '' },

  'mflow.support.label': { nl: '03 · BUILD', en: '03 · BUILD' },
  'mflow.support.title': { nl: 'We bouwen', en: 'We build' },
  'mflow.support.dur':   { nl: '', en: '' },
  'mflow.support.body':  {
    nl: 'We bouwen wat zinvol is, zoveel mogelijk in de systemen waar je team vandaag al mee werkt.',
    en: 'We build what makes sense, as much as possible inside the systems your team already uses.'
  },
  'mflow.support.price': { nl: '', en: '' },

  'mflow.improve.label': { nl: '04 · CARE', en: '04 · CARE' },
  'mflow.improve.title': { nl: 'We blijven aan boord', en: 'We stay on board' },
  'mflow.improve.dur':   { nl: '', en: '' },
  'mflow.improve.body':  {
    nl: 'Na go-live blijven we erbij. We monitoren wat draait, lossen op wat hapert en verbeteren waar adoptie stokt of waar het beter kan.',
    en: 'After go-live we stick around. We monitor what runs, fix what breaks and improve where adoption stalls or where it can be better.'
  },
  'mflow.improve.price': { nl: '', en: '' },

  // Endpoint label at the bottom-right of the M path - signals the loop
  // continues after CARE ('we keep optimising').
  'mflow.endpoint':      { nl: 'WE BLIJVEN OPTIMALISEREN', en: 'WE KEEP OPTIMISING' },

  'loop.h2':       { nl: 'Audit → Build → Support → Improve. Op herhaling.', en: 'Audit → Build → Support → Improve. On repeat.' },
  'loop.01.t':     { nl: 'Audit',   en: 'Audit' },
  'loop.01.d':     { nl: 'Map de realiteit.',  en: 'Map reality.' },
  'loop.02.t':     { nl: 'Build',   en: 'Build' },
  'loop.02.d':     { nl: 'Lever waarde.',      en: 'Ship value.' },
  'loop.03.t':     { nl: 'Support', en: 'Support' },
  'loop.03.d':     { nl: 'Hou ’t draaiend.', en: 'Keep it running.' },
  'loop.04.t':     { nl: 'Improve', en: 'Improve' },
  'loop.04.d':     { nl: 'Maak ’t beter.', en: 'Make it better.' },

  // ============================================================
  // 3, STRATEGY (How we find your wins), NEW SIGNATURE BLOCK
  // ============================================================
  'strategy.eyebrow': { nl: '04 · SCAN', en: '04 · SCAN' },
  'strategy.h2': {
    nl: 'Quick Scan of Full Scan. Zelfde aanpak, andere scope.',
    en: 'Quick Scan or Full Scan. Same approach, different scope.'
  },
  'strategy.lede': {
    nl: 'Voor we iets bouwen, lopen we je proces door.\nZo vinden we waar AI \u00E9cht uren of euro\u2019s oplevert, niet om de trend te volgen. Quick Scan voor 1 \u00E0 2 processen, Full Scan voor meerdere teams of de hele werking.',
    en: 'Before we build anything, we walk your process.\nThat\u2019s how we find where AI actually saves hours or earns euros, not just to follow the trend. Quick Scan for 1 or 2 processes, Full Scan for multiple teams or the whole operation.'
  },

  'strategy.map.label': { nl: 'PROCESSEN IN KAART', en: 'PROCESSES MAPPED' },
  'strategy.map.title': {
    nl: 'We mappen je workflow',
    en: 'We map your workflow'
  },
  'strategy.map.body': {
    nl: 'E\u00E9n proces-call (60\u201390 min), \u00E9\u00E9n doorloop van je tools, \u00E9\u00E9n tekening van wat er \u00E9cht gebeurt, niet wat het org-chart zegt. We praten met de mensen die het werk doen.',
    en: 'One process call (60\u201390 min), one tool walk-through, one drawing of what actually happens, not what the org chart says. We talk to the people who do the work.'
  },

  'strategy.identify.label': { nl: 'USE-CASES GESELECTEERD', en: 'USE CASES SELECTED' },
  'strategy.identify.title': {
    nl: 'We zoeken de use-cases met echte impact',
    en: 'We find the use cases that actually move the needle'
  },
  'strategy.identify.body': {
    nl: 'Per kandidaat: hoeveel uren of euro\u2019s per maand, welke tools eraan hangen, wat je ervoor terugkrijgt. Gerangschikt. Niets wat onder de \u20AC5.000/jaar impact maakt komt op de shortlist.',
    en: 'Per candidate: hours or euros per month, what tools it touches, what you get back. Ranked. Anything below \u20AC5,000/year of impact stays off the shortlist.'
  },

  'strategy.size.label': { nl: 'IMPACT EN BUDGET INGESCHAT', en: 'IMPACT AND BUDGET SIZED' },
  'strategy.size.title': {
    nl: 'We zetten een harde business case neer',
    en: 'We put a solid business case on the table'
  },
  'strategy.size.body': {
    nl: 'Voor de top 3: build-kost, looptijd, ROI-window, en het risico-profiel. Inclusief eerlijke "doe het niet"-redenen waar van toepassing.',
    en: 'For the top 3: build cost, timeline, ROI window, and risk profile. Including honest "don\u2019t build this" reasons where they apply.'
  },

  'strategy.outcome': {
    nl: 'BESLISDOCUMENT \u00B7 1 \u00C0 2 PROCESSEN \u00B7 TIJDWINST \u00B7 TOOLS \u00B7 HAALBAARHEID',
    en: 'DECISION DOC \u00B7 1 OR 2 PROCESSES \u00B7 TIME SAVED \u00B7 TOOLS \u00B7 FEASIBILITY'
  },
  'strategy.cta': {
    nl: 'Boek je Quick Scan, \u20AC1.199',
    en: 'Book your Quick Scan, \u20AC1,199'
  },

  // ============================================================
  // 4, CASES
  // ============================================================
  'cases.eyebrow': { nl: '05 · CASES', en: '05 · CASES' },
  'cases.h2': {
    nl: 'Echte business cases. Met cijfers.',
    en: 'Real business cases. With numbers.'
  },
  'cases.lede': {
    nl: 'Probleem, workflow, build, impact. E\u00E9n pagina per case.',
    en: 'Problem, workflow, build, impact. One page per case.'
  },

  // Manufacturing, flagship example
  'cases.mfg.sector': { nl: 'MANUFACTURING', en: 'MANUFACTURING' },
  'cases.mfg.outcome': {
    nl: '"120 uur/maand gespaard op factuurverwerking."',
    en: '"120 hours/month saved on invoice processing."'
  },
  'cases.mfg.workflow': {
    nl: 'Inkomende facturen \u2192 documentensysteem \u2192 boekhouding, met OCR + uitzonderingen-routing',
    en: 'Inbound invoices \u2192 document system \u2192 accounting, with OCR + exception routing'
  },
  'cases.mfg.client': {
    nl: 'Belgische producent \u00B7 45 FTE \u00B7 metaalbewerking',
    en: 'Belgian manufacturer \u00B7 45 FTE \u00B7 metalworking'
  },
  'cases.mfg.body': {
    nl: 'We mapten hoe 6 mensen hun ochtend besteedden aan factuur-rondsturen, bouwden een geautomatiseerde flow met OCR voor PDF-leveranciers, koppelden de boekhouding, en routeerden twijfelgevallen naar \u00E9\u00E9n persoon. Implementatie in 12 werkdagen.',
    en: 'We mapped how 6 people spent their morning forwarding invoices, built an automated flow with OCR for PDF suppliers, hooked into accounting, and routed edge cases to one person. Shipped in 12 business days.'
  },
  'cases.cta': { nl: 'Lees case', en: 'Read case' },

  // Placeholder card
  'cases.placeholder.eyebrow': {
    nl: 'EERSTE CASE \u00B7 Q3 2026',
    en: 'FIRST CASE \u00B7 Q3 2026'
  },
  'cases.placeholder.body': {
    nl: 'Eerste case live in Q3 2026, Belgische producent, 45 FTE. Volg op LinkedIn voor de cijfers.',
    en: 'First case live Q3 2026, Belgian manufacturer, 45 FTE. Follow on LinkedIn for the numbers.'
  },
  'cases.placeholder.cta': {
    nl: 'Volg op LinkedIn',
    en: 'Follow on LinkedIn'
  },

  // ============================================================
  // 5, SERVICES (4 tracks)
  // ============================================================
  'services.eyebrow': { nl: '07 · DIENSTEN', en: '07 · SERVICES' },
  'services.h2': {
    nl: 'Start waar het zinvol is voor jouw bedrijf.\nGeen standaardtraject.',
    en: 'Start where it makes sense for your business.\nNo one-size path.'
  },
  'services.lede': {
    nl: 'Soms volstaat één Quick Scan om een proces scherp te krijgen.\nSoms is een Full Scan nodig om meerdere teams en use-cases te ordenen.\nWe bouwen pas wanneer de business case klopt, en blijven met Care opvolgen als de flow live staat.',
    en: 'Sometimes a single Quick Scan is enough to sharpen one process.\nSometimes a Full Scan is needed to order multiple teams and use cases.\nWe only build when the business case is clear, and stay on with Care once the flow runs live.'
  },

  // === Product-ladder service cards (homepage diensten block) ===
  // Quick Scan
  'services.product.quickscan.label':     { nl: '01 · QUICK SCAN', en: '01 · QUICK SCAN' },
  'services.product.quickscan.headline':  { nl: 'In één dag weten waar je bedrijf tijd verliest.', en: 'One day. Clear view on where your business loses time.' },
  'services.product.quickscan.b1':        { nl: 'Analyse van 1 à 2 processen', en: 'Analysis of 1-2 processes' },
  'services.product.quickscan.b2':        { nl: 'Beslisdocument met aanbevelingen', en: 'Decision document with recommendations' },
  'services.product.quickscan.b3':        { nl: 'Shortlist van wat eerst moet', en: 'Shortlist of what to fix first' },
  'services.product.quickscan.b4':        { nl: 'Haalbaarheidscheck in jouw stack', en: 'Feasibility check in your stack' },
  'services.product.quickscan.price':     { nl: '€1.199 vaste prijs', en: '€1,199 fixed' },
  'services.product.quickscan.cta':       { nl: 'Lees meer', en: 'Read more' },

  // Full Scan
  'services.product.fullscan.label':      { nl: '02 · FULL SCAN', en: '02 · FULL SCAN' },
  'services.product.fullscan.headline':   { nl: 'Van losse ideeën naar een duidelijke roadmap.', en: 'From scattered ideas to a clear roadmap.' },
  'services.product.fullscan.b1':         { nl: 'Doorlichting van meerdere processen', en: 'Review across multiple processes' },
  'services.product.fullscan.b2':         { nl: 'Use-cases verzamelen met je team', en: 'Collect use cases with your team' },
  'services.product.fullscan.b3':         { nl: 'Prioriteiten op impact en haalbaarheid', en: 'Prioritised on impact and feasibility' },
  'services.product.fullscan.b4':         { nl: 'Roadmap met budgetrange en volgorde', en: 'Roadmap with budget range and sequence' },
  'services.product.fullscan.price':      { nl: 'Vanaf €2.999', en: 'From €2,999' },
  'services.product.fullscan.cta':        { nl: 'Bekijk prijzen', en: 'See pricing' },

  // Build
  'services.product.build.label':         { nl: '03 · BUILD', en: '03 · BUILD' },
  'services.product.build.headline':      { nl: 'Automatiseringen die passen in je werking.', en: 'Automations that fit your operations.' },
  'services.product.build.b1':            { nl: 'Flows voor offertes, mailboxen, documenten', en: 'Flows for quotes, inboxes, documents' },
  'services.product.build.b2':            { nl: 'Rapportering, planning, approvals en opvolging', en: 'Reporting, planning, approvals, follow-up' },
  'services.product.build.b3':            { nl: 'Gebouwd in tools die je al gebruikt', en: 'Built inside the tools you already use' },
  'services.product.build.b4':            { nl: 'Duidelijke scope en testmomenten', en: 'Clear scope and testing moments' },
  'services.product.build.price':         { nl: 'Vanaf €3.999', en: 'From €3,999' },
  'services.product.build.cta':           { nl: 'Bekijk prijzen', en: 'See pricing' },

  // Care
  'services.product.care.label':          { nl: '04 · CARE', en: '04 · CARE' },
  'services.product.care.headline':       { nl: 'Na go-live blijven we opvolgen.', en: 'After go-live, we keep going.' },
  'services.product.care.b1':             { nl: 'Monitoring van bestaande flows', en: 'Monitoring of existing flows' },
  'services.product.care.b2':             { nl: 'Fixes wanneer tools of processen veranderen', en: 'Fixes when tools or processes change' },
  'services.product.care.b3':             { nl: 'Verbeteringen op basis van gebruik', en: 'Improvements based on real usage' },
  'services.product.care.b4':             { nl: 'Nieuwe flows wanneer je werking groeit', en: 'New flows as your operations grow' },
  'services.product.care.price':          { nl: 'Vanaf €495/maand', en: 'From €495/month' },
  'services.product.care.cta':            { nl: 'Bekijk prijzen', en: 'See pricing' },

  // Web & vindbaarheid
  'services.product.web.label':           { nl: '05 · WEB & VINDBAARHEID', en: '05 · WEB & FINDABILITY' },
  'services.product.web.headline':        { nl: 'Een site die klanten én zoekmachines begrijpen.', en: 'A site that clients and search engines understand.' },
  'services.product.web.b1':              { nl: 'Duidelijke positionering en dienstenpagina’s', en: 'Clear positioning and service pages' },
  'services.product.web.b2':              { nl: 'Snelle site zonder technische rommel', en: 'Fast site without technical clutter' },
  'services.product.web.b3':              { nl: 'Technische basis en crawlbare structuur', en: 'Technical foundation and crawlable structure' },
  'services.product.web.b4':              { nl: 'Beter leesbaar voor Google, ChatGPT, Claude en Perplexity', en: 'Better readable for Google, ChatGPT, Claude and Perplexity' },
  'services.product.web.price':           { nl: 'Vanaf €1.500', en: 'From €1,500' },
  'services.product.web.cta':             { nl: 'Vraag een offerte', en: 'Request a quote' },

  // Service 1, Strategy (LEAD) - LEGACY, kept for back-compat
  'services.strat.label': { nl: '01 · STRATEGIE', en: '01 · STRATEGY' },
  'services.strat.title': {
    nl: 'Procesanalyse & use-case selectie',
    en: 'Process analysis & use-case selection'
  },
  'services.strat.tagline': {
    nl: 'We mappen je operations, scoren je use-cases en zetten een ranked roadmap neer met \u00E9cht impact per item.',
    en: 'We map your operations, score your use cases and put a ranked roadmap on the table, with real impact per item.'
  },
  'services.strat.b1': {
    nl: 'Proces-mapping en workflow-analyse',
    en: 'Process mapping and workflow analysis'
  },
  'services.strat.b2': {
    nl: 'Use-case identificatie + impact-ranking (uren / \u20AC/maand / omzet)',
    en: 'Use-case identification + impact ranking (hours / \u20AC/month / revenue)'
  },
  'services.strat.b3': {
    nl: 'Echte business case per use-case (build-kost, ROI-window, risico)',
    en: 'Real business case per item (build cost, ROI window, risk)'
  },
  'services.strat.b4': {
    nl: 'Aanbeveling op basis van wat je al gebruikt',
    en: 'Recommendation based on what you already use'
  },
  'services.strat.b5': {
    nl: '1-pager met strategie, use-cases en prioriteiten, voor jou',
    en: '1-pager with strategy, use cases and priorities, yours'
  },
  'services.strat.b6': {
    nl: 'Adoption-check: we kijken samen met je teams hoe AI-klaar je organisatie is en welke stappen we nog samen nemen',
    en: 'Adoption check: we look with your teams at how AI-ready the organisation is and what steps we still take together'
  },
  'services.strat.cta': {
    nl: 'Start met een Quick Scan',
    en: 'Start with a Quick Scan'
  },

  // Service 2, Operations & automations
  'services.ops.label': { nl: '02 · OPS', en: '02 · OPS' },
  'services.ops.title': {
    nl: 'Operations automatiseren',
    en: 'Operations automation'
  },
  'services.ops.tagline': {
    nl: 'We bouwen de flows die passen in de tools die je al hebt - Microsoft 365, n8n, of wat je vandaag draait. Inclusief intelligente flows waar dat écht het verschil maakt.',
    en: 'We build the flows that fit the tools you already have - Microsoft 365, n8n, or whatever you already run. Including intelligent flows where they actually make a difference.'
  },
  'services.ops.b1.t': { nl: 'Microsoft & Azure', en: 'Microsoft & Azure' },
  'services.ops.b1.b': {
    nl: 'SharePoint-flows, Power Automate, Teams-bots, M365-integraties, Azure Functions',
    en: 'SharePoint flows, Power Automate, Teams bots, M365 integrations, Azure Functions'
  },
  'services.ops.b2.t': { nl: 'n8n & low-code', en: 'n8n & low-code' },
  'services.ops.b2.b': {
    nl: 'Self-hosted of managed, met Claude/OpenAI integraties',
    en: 'Self-hosted or managed, with Claude/OpenAI integrations'
  },
  'services.ops.b3.t': {
    nl: 'Maatwerk AI-flows (NL-first)',
    en: 'Custom AI agents (Dutch-first)'
  },
  'services.ops.b3.b': {
    nl: 'Rol-specifieke agents (finance, project-manager, customer-service)',
    en: 'Role-specific agents (finance, project manager, customer service)'
  },
  'services.ops.b4.t': {
    nl: 'Document-, e-mail- en lead-flows',
    en: 'Document, email and lead flows'
  },
  'services.ops.b4.b': {
    nl: 'OCR, triage, routing, follow-up sequences',
    en: 'OCR, triage, routing, follow-up sequences'
  },
  'services.ops.b5.t': { nl: 'Sales & lead ops', en: 'Sales & lead ops' },
  'services.ops.b5.b': {
    nl: 'Scoring, enrichment, pipeline-digest',
    en: 'Scoring, enrichment, pipeline digest'
  },
  'services.ops.cta': {
    nl: 'Start met de Scan',
    en: 'Start with the Scan'
  },

  // Service 3, Web, SEO & GEO
  'services.web.label': { nl: '03 · WEB, CONTENT & FINDABILITY', en: '03 · WEB, CONTENT & FINDABILITY' },
  'services.web.title': {
    nl: 'Web & vindbaarheid',
    en: 'Web & findability'
  },
  'services.web.tagline': {
    nl: 'Een snelle site, content die je merkstem volgt, vindbaar in Google \u00E9n in ChatGPT, Claude en Perplexity. Voor teams die willen schalen zonder freelancer-army en voor wie wekelijkse aanwezigheid wil zonder er avonden in te steken.',
    en: 'A fast site, content that follows your brand voice, findable in Google and in ChatGPT, Claude and Perplexity. For marketing teams scaling output without an army of freelancers, and for solo founders who want weekly presence without spending their evenings on it.'
  },
  'services.web.b1.t': {
    nl: 'Company website design & build',
    en: 'Company website design & build'
  },
  'services.web.b1.b': {
    nl: 'Snelle, frisse site die op elk toestel goed werkt',
    en: 'Fast, clean site that works well on every device'
  },
  'services.web.b2.t': {
    nl: 'Brand-content op schaal',
    en: 'Brand content at scale'
  },
  'services.web.b2.b': {
    nl: 'Blogposts, social, nieuwsbrieven en e-mailflows in jouw merkstem. Drafts naar jou, jij reviewt en publiceert',
    en: 'Blog posts, social, newsletters and email flows in your brand voice. Drafts come to you, you review and publish'
  },
  'services.web.b3.t': {
    nl: 'Vindbaar in AI-zoekmachines',
    en: 'Findable in AI search engines'
  },
  'services.web.b3.b': {
    nl: 'Wij zorgen dat ChatGPT, Claude en Perplexity jouw bedrijf voorstellen als klanten een vraag stellen',
    en: 'We make sure ChatGPT, Claude and Perplexity surface your business when customers ask'
  },
  'services.web.b4.t': {
    nl: 'Klaar voor de volgende generatie zoekmachines',
    en: 'Ready for the next generation of search engines'
  },
  'services.web.b4.b': {
    nl: 'We zetten je site zo op dat zowel Google als AI-tools je bedrijf goed begrijpen',
    en: 'We set up your site so both Google and AI tools understand your business well'
  },
  'services.web.b5.t': {
    nl: 'Een site die snel laadt',
    en: 'A site that loads fast'
  },
  'services.web.b5.b': {
    nl: 'Geen rommel onder de motorkap. Bezoekers wachten niet, klanten haken niet af',
    en: 'No bloat under the hood. Visitors don\u2019t wait, customers don\u2019t bounce'
  },
  'services.web.cta': {
    nl: 'Plan een gesprek',
    en: 'Schedule a chat'
  },

  // Service 4, Care
  'services.care.label': { nl: '04 · CARE', en: '04 · CARE' },
  'services.care.title': {
    nl: 'Care: opvolging na go-live',
    en: 'Care: ongoing after go-live'
  },
  'services.care.tagline': {
    nl: 'Wat we bouwen, blijft draaien. We staan je bij met maandelijkse verbeteringen, reviews en updates. Jij belt, wij volgen op.',
    en: 'What we build keeps running. We stand by you with monthly improvements, reviews and updates. You call, we follow up.'
  },
  'services.care.b1': {
    nl: 'Monitoring + alerts (alle live flows)',
    en: 'Monitoring + alerts (every live flow)'
  },
  'services.care.b2': {
    nl: 'Maandelijkse verbeteringen',
    en: 'Monthly improvements'
  },
  'services.care.b3': {
    nl: 'Periodieke business-review (kwartaal of vaker)',
    en: 'Periodic business review (quarterly or sooner)'
  },
  'services.care.b4': {
    nl: 'Nieuwe builds binnen het retainer-budget',
    en: 'New builds inside the retainer budget'
  },
  'services.care.b5': {
    nl: 'Maandelijks opzegbaar',
    en: 'Cancel any month'
  },
  'services.care.cta': {
    nl: 'Bekijk de Care-opties',
    en: 'See the Care options'
  },

  // What we don't do
  'services.refuse.title': {
    nl: 'WAT WE NIET DOEN',
    en: 'WHAT WE DON\u2019T DO'
  },
  'services.refuse.r1': {
    nl: 'Generieke AI-strategiedecks zonder build erna',
    en: 'Generic AI strategy decks with no build to follow'
  },
  'services.refuse.r2': {
    nl: 'Enterprise MLOps of custom model-training (ML6\u2019s domein)',
    en: 'Enterprise MLOps or custom model training (ML6\u2019s territory)'
  },
  'services.refuse.r3': {
    nl: 'Performance ads-management (we doen organic, niet paid)',
    en: 'Performance-ads management (we do organic, not paid)'
  },
  'services.refuse.r4': {
    nl: 'AI-trainingen als los product zonder build of begeleiding',
    en: 'Standalone AI training without a build or hands-on follow-up'
  },
  'services.refuse.r5': {
    nl: 'Dag-tarieven op de publieke site',
    en: 'Day rates on our public site'
  },

  // ============================================================
  // 6, PRICING
  // ============================================================
  'pricing.eyebrow': { nl: '08 · PRIJZEN', en: '08 · PRICING' },
  'pricing.h2': {
    nl: 'Wij werken op maat, binnen jouw budget.',
    en: 'We work tailored, inside your budget.'
  },
  'pricing.lede': {
    nl: 'Vertel ons je budget, we passen de scope erop aan. Hieronder krijg je alvast een overzicht van de mogelijke AI-trajecten. Alle prijzen in EUR, ex BTW.',
    en: 'Tell us your budget, we shape the scope to fit. Below is an overview of the possible AI trajectories. All prices in EUR, excl. VAT.'
  },

  // Quick Scan
  'pricing.qs.tier': { nl: 'QUICK SCAN', en: 'QUICK SCAN' },
  'pricing.qs.title': { nl: 'Quick Scan', en: 'Quick Scan' },
  'pricing.qs.outcome': {
    nl: 'Gefocust op 1 of 2 processen die jij wil aanpakken. Output: een schriftelijk plan met use-cases en AI-aanbevelingen. Antwoord op "is dit iets voor ons?".',
    en: 'Focused on 1 or 2 processes you want to tackle. Output: a written plan with use cases and AI recommendations. Answers "is this for us?".'
  },
  'pricing.qs.dur': { nl: '', en: '' },
  'pricing.qs.b1': {
    nl: 'Intake call + 60\u201390 min proces-call',
    en: 'Intake call + 60\u201390 min process call'
  },
  'pricing.qs.b2': {
    nl: 'Focus op 1 of 2 prioritaire processen die je wil aanpakken',
    en: 'Focus on 1 or 2 priority processes you want to tackle'
  },
  'pricing.qs.b3': {
    nl: 'Concrete use-cases en AI-aanbevelingen voor jouw situatie',
    en: 'Concrete use cases and AI recommendations for your situation'
  },
  'pricing.qs.b4': {
    nl: 'Schriftelijk plan voor die 1 of 2 processen',
    en: 'Written plan for those 1 of 2 processes'
  },
  'pricing.qs.b5': {
    nl: 'Geen verplichting voor verdere stappen',
    en: 'No obligation to continue'
  },
  'pricing.qs.cta': { nl: 'Boek je Quick Scan', en: 'Book your Quick Scan' },

  // Full Scan
  'pricing.fullscan.tier': { nl: 'FULL SCAN', en: 'FULL SCAN' },
  'pricing.fullscan.title': { nl: 'Full Scan', en: 'Full Scan' },
  'pricing.fullscan.outcome': {
    nl: 'Volledige doorlichting van ál je operations: alle processen in kaart, alle use-cases gerangschikt, AI-roadmap voor het hele bedrijf. Inclusief eerlijk advies over wat je wel én niet bouwt. Antwoord op "we weten dat we willen, wat eerst?".',
    en: 'Full audit of all your operations: every process mapped, every use case ranked, AI roadmap for the entire business. Including honest advice on what to build - and what not to build. Answers "we know we want to, what first?".'
  },
  'pricing.fullscan.b1': {
    nl: 'Alle processen in kaart gebracht',
    en: 'All processes mapped'
  },
  'pricing.fullscan.b2': {
    nl: 'Alle use-cases ge\u00EFdentificeerd en gerangschikt op impact',
    en: 'All use cases identified and ranked by impact'
  },
  'pricing.fullscan.b3': {
    nl: 'Volledige AI-roadmap met prioriteiten',
    en: 'Full AI roadmap with priorities'
  },
  'pricing.fullscan.b4': {
    nl: 'Business case per use-case (uren / \u20AC / risico)',
    en: 'Business case per use case (hours / \u20AC / risk)'
  },
  'pricing.fullscan.b5': {
    nl: 'Eindprijs op basis van # processen en bedrijfsgrootte. Finale offerte na intake.',
    en: 'Final price based on # of processes and company size. Final quote after intake.'
  },
  'pricing.fullscan.cta': { nl: 'Plan een gesprek', en: 'Schedule a call' },

  // Starter Build
  'pricing.starter.tier': { nl: 'STARTER BUILD', en: 'STARTER BUILD' },
  'pricing.starter.title': { nl: 'Starter Build', en: 'Starter Build' },
  'pricing.starter.outcome': {
    nl: 'We bouwen 1 use-case live in productie, op basis van de Quick of Full Scan die we samen deden, óf op de use-case die jij al helder voor ogen hebt. Antwoord op "laten we het bouwen".',
    en: 'We build 1 use case live in production, based on the Quick or Full Scan we did together, or on the use case you already have in mind. Answers "let\'s build it".'
  },
  'pricing.starter.dur': { nl: '', en: '' },
  'pricing.starter.b1': {
    nl: '1 concrete use-case, live in productie',
    en: '1 concrete use case, live in production'
  },
  'pricing.starter.b2': {
    nl: 'Vaste scope, vaste prijs',
    en: 'Fixed scope, fixed fee'
  },
  'pricing.starter.b3': {
    nl: 'Documentatie + handover',
    en: 'Documentation + handover'
  },
  'pricing.starter.b4': {
    nl: '30 dagen post-launch fixes inbegrepen',
    en: '30 days post-launch fixes included'
  },

  // Build Sprint (was Build project - renamed sitewide)
  'pricing.build.tier': { nl: 'BUILD SPRINT', en: 'BUILD SPRINT' },
  'pricing.build.title': { nl: 'Build Sprint', en: 'Build Sprint' },
  'pricing.build.outcome': {
    nl: '1\u20133 automatiseringen live in vaste sprints, voorstel met scope en budget.',
    en: '1\u20133 automations live in fixed sprints, projectscope after the Scan.'
  },
  'pricing.build.dur': { nl: '', en: '' },
  'pricing.build.b1': {
    nl: '1\u20133 flows in vaste sprints',
    en: '1\u20133 flows in fixed sprints'
  },
  'pricing.build.b2': {
    nl: 'SOW op basis van Scan-backlog',
    en: 'SOW based on Scan backlog'
  },
  'pricing.build.b3': {
    nl: 'Wekelijkse check-ins',
    en: 'Weekly check-ins'
  },
  'pricing.build.b4': {
    nl: 'Documentatie + handover',
    en: 'Documentation + handover'
  },

  'pricing.startWithScan': {
    nl: 'Plan een gesprek',
    en: 'Schedule a call'
  },

  // Web & Findability
  'pricing.web.tier': { nl: 'WEB & FINDABILITY', en: 'WEB & FINDABILITY' },
  'pricing.web.title': { nl: 'Web & vindbaarheid', en: 'Web & findability' },
  'pricing.web.outcome': {
    nl: 'Snelle site + technical/content SEO + AI-engine vindbaarheid.',
    en: 'Site + technical/content SEO + AI-engine findability.'
  },
  'pricing.web.priceLabel': { nl: 'vanaf \u20AC1.500', en: 'from \u20AC1,500' },
  'pricing.web.b1': {
    nl: 'Company site design & build',
    en: 'Company site design & build'
  },
  'pricing.web.b2': {
    nl: 'Technical + content SEO',
    en: 'Technical + content SEO'
  },
  'pricing.web.b3': {
    nl: 'Setup voor vindbaarheid in AI-zoekmachines',
    en: 'Setup for visibility in AI search engines'
  },
  'pricing.web.b4': {
    nl: '',
    en: ''
  },
  'pricing.web.cta': {
    nl: 'Plan een gesprek',
    en: 'Schedule a chat'
  },

  // MODUS Content Engine
  'pricing.content.tier': { nl: 'AI CONTENT AUTOMATION', en: 'AI CONTENT AUTOMATION' },
  'pricing.content.title': { nl: 'MODUS Content Engine', en: 'MODUS Content Engine' },
  'pricing.content.priceLabel': { nl: 'vanaf €1.500', en: 'from €1,500' },
  'pricing.content.outcome': {
    nl: 'Contentflow voor blog, social, nieuwsbrief en campagnes. Met vaste formats, feedbackloop en human review vóór publicatie.',
    en: 'Content flow for blog, social, newsletter and campaigns. With fixed formats, a feedback loop and human review before publication.'
  },
  'pricing.content.b1': {
    nl: 'Brand voice en formats vastgelegd in een prompt-library',
    en: 'Brand voice and formats captured in a prompt library'
  },
  'pricing.content.b2': {
    nl: 'Eerste contentflow voor 1 of 2 kanalen',
    en: 'First content flow for 1 or 2 channels'
  },
  'pricing.content.b3': {
    nl: 'Feedbackloop: correcties worden meegenomen in volgende drafts',
    en: 'Feedback loop: corrections carried into next drafts'
  },
  'pricing.content.b4': {
    nl: 'Eerste set drafts of templates · handover & uitleg',
    en: 'First set of drafts or templates · handover & walk-through'
  },
  'pricing.content.b5': {
    nl: '',
    en: ''
  },
  'pricing.content.cta': {
    nl: 'Plan een gesprek',
    en: 'Schedule a chat'
  },

  // Care divider
  'pricing.care.divider': {
    nl: 'CARE \u00B7 CARE+',
    en: 'CARE \u00B7 CARE+'
  },

  // Care Solo (zelfstandigen)
  'pricing.care.solo.tier': { nl: 'SOLO', en: 'SOLO' },
  'pricing.care.solo.title': { nl: 'Care Solo', en: 'Care Solo' },
  'pricing.care.solo.outcome': {
    nl: 'Voor zelfstandigen. Houd je AI scherp zonder retainer-budget.',
    en: 'For solo founders. Keep your AI sharp without retainer budgets.'
  },
  'pricing.care.solo.b1': { nl: 'Monitoring + alerts op je live flows', en: 'Monitoring + alerts on your live flows' },
  'pricing.care.solo.b2': { nl: '1 optimalisatie of fix per maand', en: '1 optimisation or fix per month' },
  'pricing.care.solo.b3': { nl: 'E-mail support binnen 2 werkdagen', en: 'Email support within 2 business days' },
  'pricing.care.solo.b4': { nl: 'Maandelijks opzegbaar', en: 'Cancel any month' },

  // Care Light
  'pricing.care.light.tier': { nl: 'CARE', en: 'CARE' },
  'pricing.care.light.title': { nl: 'Care', en: 'Care' },
  'pricing.care.light.outcome': {
    nl: 'We houden je AI draaiend zoals het werd geleverd.',
    en: 'We keep your AI running as delivered.'
  },
  'pricing.care.light.b1': {
    nl: 'Monitoring + alerts op alle live flows',
    en: 'Monitoring + alerts on every live flow'
  },
  'pricing.care.light.b2': {
    nl: '2 optimalisaties of fixes per maand',
    en: '2 optimisations or fixes per month'
  },
  'pricing.care.light.b3': {
    nl: 'E-mail support binnen 1 werkdag',
    en: 'Email support within 1 business day'
  },
  'pricing.care.light.b4': {
    nl: 'Maandelijks opzegbaar',
    en: 'Cancel any month'
  },

  // Care Core
  'pricing.care.core.tier': { nl: 'CARE+', en: 'CARE+' },
  'pricing.care.core.popular': { nl: 'MEEST GEKOZEN', en: 'MOST CHOSEN' },
  'pricing.care.core.title': { nl: 'Care+', en: 'Care+' },
  'pricing.care.core.outcome': {
    nl: 'AI is geen project maar een richting. Elke maand voegen we iets toe.',
    en: 'AI isn\u2019t a project, it\u2019s a direction. Each month we add something.'
  },
  'pricing.care.core.b1': { nl: 'Alles in Care, plus:', en: 'Everything in Care, plus:' },
  'pricing.care.core.b2': {
    nl: '1 nieuwe automatisering of feature per maand (uit gedeelde backlog)',
    en: '1 new automation or feature per month (from shared backlog)'
  },
  'pricing.care.core.b3': { nl: 'Teams support binnen 4u op werkdagen', en: 'Teams support within 4h on business days' },
  'pricing.care.core.b4': {
    nl: 'Kwartaalreview + eerste toegang tot nieuwe modellen/tools',
    en: 'Quarterly review + first access to new models/tools'
  },

  // Care Plus
  'pricing.care.plus.tier': { nl: 'PLUS', en: 'PLUS' },
  'pricing.care.plus.title': { nl: 'Care \u00B7 Plus', en: 'Care \u00B7 Plus' },
  'pricing.care.plus.outcome': {
    nl: 'Wij zijn je ops-team.',
    en: 'We are your ops team.'
  },
  'pricing.care.plus.b1': { nl: 'Alles in Core', en: 'Everything in Core' },
  'pricing.care.plus.b2': {
    nl: 'Dedicated ops-uren',
    en: 'Dedicated ops hours'
  },
  'pricing.care.plus.b3': {
    nl: 'Lopende builds',
    en: 'Ongoing builds'
  },
  'pricing.care.plus.b4': {
    nl: '4u SLA binnen kantooruren',
    en: '4-hour business-hours SLA'
  },

  'pricing.startHere': { nl: 'Plan een gesprek', en: 'Schedule a call' },

  // FAQ
  'faq.title': {
    nl: 'Veelgestelde vragen',
    en: 'Frequently asked'
  },
  'faq.q1': {
    nl: 'Wat is het verschil tussen een Quick Scan en een Full Scan?',
    en: 'What\u2019s the difference between a Quick Scan and a Full Scan?'
  },
  'faq.a1': {
    nl: 'Een Quick Scan gaat diep op 1 \u00e0 2 processen die we vooraf kiezen, op basis van jouw vraag of in samenspraak tijdens de intake. Denk aan offerte-opvolging, mailboxen, leadflow, rapportering of contentproductie.\n\nEen Full Scan kijkt breder naar meerdere processen, teams of use-cases. Daar brengen we meer van je werking in kaart, verzamelen we mogelijke automatiseringskansen en maken we een roadmap met prioriteiten, budgetrange en business case.\n\nKort gezegd: Quick Scan is gericht. Full Scan is breed.',
    en: 'A Quick Scan goes deep on 1 or 2 processes that we pick upfront, based on your question or together during intake. Think quote follow-up, inboxes, lead flow, reporting or content production.\n\nA Full Scan looks broader across multiple processes, teams or use cases. We map more of your operations, gather automation opportunities, and produce a roadmap with priorities, budget range and business case.\n\nIn short: Quick Scan is focused. Full Scan is broad.'
  },
  'faq.q2': {
    nl: 'Wat als ik al in Microsoft draai?',
    en: 'What if I already run on Microsoft?'
  },
  'faq.a2': {
    nl: 'Perfect, de meeste van onze klanten ook. We bouwen in M365, SharePoint, Power Automate en Azure waar dat het beste past. n8n en custom agents komen erbij waar ze \u00E9cht meerwaarde geven.',
    en: 'Perfect, most of our clients do. We build in M365, SharePoint, Power Automate and Azure where it fits best. n8n and custom agents come in where they actually add value.'
  },
  'faq.q3': {
    nl: 'Wat zit er in Care?',
    en: 'What\u2019s in Care?'
  },
  'faq.a3': {
    nl: 'Twee niveaus. Care (\u20AC1.200/maand): we houden je AI draaiend, 2 optimalisaties per maand, e-mail support. Care+ (\u20AC2.500/maand): alles in Care plus 1 nieuwe automatisering of feature per maand uit een gedeelde backlog, en sneller support. Maandelijks opzegbaar.',
    en: 'Two levels. Care (\u20AC1,200/month): we keep your AI running, 2 optimisations per month, email support. Care+ (\u20AC2,500/month): everything in Care plus 1 new automation or feature per month from a shared backlog, and faster support. Cancel any month.'
  },
  'faq.q4': {
    nl: 'Doen jullie ook websites en SEO?',
    en: 'Do you also do websites and SEO?'
  },
  'faq.a4': {
    nl: 'Ja. Een snelle site die hoog rankt in Google \u00E9n waar AI-zoekmachines (ChatGPT, Claude, Perplexity) jouw bedrijf voorstellen aan klanten. Vanaf \u20AC1.500, we passen de scope aan op je budget.',
    en: 'Yes. A fast site that ranks well on Google and where AI search engines (ChatGPT, Claude, Perplexity) recommend your business to customers. From \u20AC1,500, we shape the scope to your budget.'
  },
  'faq.q5': {
    nl: 'Is dit subsidie-geschikt?',
    en: 'Is this subsidy-eligible?'
  },
  'faq.a5': {
    nl: 'Build Sprints en digitalisering komen vaak in aanmerking voor KMO-groeisubsidie (45% klein / 35% middelgroot, tot \u20AC50.000). Wij helpen met de aanvraag; de subsidie wordt aangevraagd v\u00F3\u00F3r we starten.',
    en: 'Build Sprints and digitalisation often qualify for the Belgian KMO-groeisubsidie (45% small / 35% medium, up to \u20AC50,000). We help with the application; the subsidy is applied for before we start.'
  },
  'faq.q6': {
    nl: 'Hoeveel kost AI-implementatie?',
    en: 'How much does AI implementation cost?'
  },
  'faq.a6': {
    nl: 'Beginnen kan al vanaf \u20AC1.199 met een Quick Scan (intake + plan voor 1 of 2 processen). Wil je een volledig overzicht? Full Scan vanaf \u20AC2.999. Eerste werkende automatisering: Starter Build vanaf \u20AC3.999. Volledige uitrol over meerdere processen: \u20AC5.500 tot \u20AC12.500.',
    en: 'You can start from \u20AC1,199 with a Quick Scan (intake + plan for 1 of 2 processes). Want a full overview? Full Scan from \u20AC2,999. First working automation: Starter Build from \u20AC3,999. Full rollout across several processes: \u20AC5,500 to \u20AC12,500.'
  },
  'faq.q7': {
    nl: 'Welke processen kan ik automatiseren?',
    en: 'Which processes can I automate?'
  },
  'faq.a7': {
    nl: 'De usual suspects: offertes maken, leads opvolgen, facturen verwerken, klantvragen routeren, planning maken, rapportering. We kijken eerst waar je tijd verliest, dan beslissen we samen wat het meeste opbrengt om eerst aan te pakken.',
    en: 'The usual suspects: writing quotes, following up leads, processing invoices, routing customer questions, scheduling, reporting. We look at where you lose time first, then we decide together what pays back most to tackle first.'
  },
  'faq.q8': {
    nl: 'Heb ik IT-kennis nodig om met AI te starten?',
    en: 'Do I need IT knowledge to start with AI?'
  },
  'faq.a8': {
    nl: 'Nee. Wij doen het bouwwerk, jij vertelt ons je proces. We werken in tools die je waarschijnlijk al hebt (Microsoft 365, je e-mail, je CRM) zodat je team niets nieuws moet leren. Na livegang krijg je een doorloop en documentatie.',
    en: 'No. We do the build, you tell us your process. We work in tools you probably already have (Microsoft 365, your email, your CRM) so your team doesn\u2019t learn anything new. After go-live you get a walk-through and documentation.'
  },
  'faq.q9': {
    nl: 'Hoe lang duurt een AI-project?',
    en: 'How long does an AI project take?'
  },
  'faq.a9': {
    nl: 'We werken in vaste sprints met vaste deliverables, geen open einde. De doorlooptijd hangt af van scope en complexiteit; na de Scan krijg je een concrete planning per use-case.',
    en: 'We work in fixed sprints with fixed deliverables, no open ends. Timing depends on scope and complexity; after the Scan you get a concrete plan per use case.'
  },
  'faq.q10': {
    nl: 'Wat als mijn data niet \u201Cklaar\u201D is voor AI?',
    en: 'What if my data isn\u2019t \u201Cready\u201D for AI?'
  },
  'faq.a10': {
    nl: 'Bijna geen enkele organisatie heeft \u201Cklaar\u201D data, dat is normaal. We bouwen rond wat er is: e-mails, PDF\u2019s, Excels, SharePoint-mappen. Pas als het echt nodig is helpen we met opkuisen, en altijd in stappen die direct waarde geven.',
    en: 'Almost no organisation has \u201Cready\u201D data, that\u2019s normal. We build around what\u2019s there: emails, PDFs, Excel files, SharePoint folders. Only when truly needed do we help clean up, and always in steps that deliver value right away.'
  },
  'faq.q11': {
    nl: 'Wanneer kies ik beter voor een Full Scan?',
    en: 'When should I pick a Full Scan instead?'
  },
  'faq.a11': {
    nl: 'Een Full Scan is beter als je nog niet weet waar je moet beginnen, of als er meerdere processen, teams of tools betrokken zijn.\n\nBijvoorbeeld: je wil AI en automatisering structureel bekijken voor sales, operations, administratie, marketing of reporting. Dan is een bredere scan nuttiger dan \u00E9\u00E9n gericht procesonderzoek.',
    en: 'A Full Scan is better if you don\u2019t yet know where to start, or if multiple processes, teams or tools are involved.\n\nFor example: you want to look at AI and automation structurally across sales, operations, administration, marketing or reporting. A broader scan is then more useful than one focused process review.'
  },
  'faq.q12': {
    nl: 'Krijg ik bij een Quick Scan ook een roadmap?',
    en: 'Do I get a roadmap with a Quick Scan?'
  },
  'faq.a12': {
    nl: 'Niet zoals bij een Full Scan. In een Quick Scan krijg je vooral een concrete aanbeveling voor de gekozen 1 \u00e0 2 processen: wat kan beter, wat is haalbaar, wat zou een eerste build kunnen zijn en wat laat je beter liggen.\n\nEen bredere roadmap over meerdere processen hoort bij de Full Scan.',
    en: 'Not the way you do with a Full Scan. A Quick Scan gives you a concrete recommendation for the chosen 1 or 2 processes: what can be improved, what\u2019s feasible, what a first build could look like, and what to leave alone.\n\nA broader roadmap across multiple processes belongs to the Full Scan.'
  },
  'faq.q13': {
    nl: 'Kan een Quick Scan leiden tot een Build?',
    en: 'Can a Quick Scan lead to a Build?'
  },
  'faq.a13': {
    nl: 'Ja. Als de business case klopt, kan de Quick Scan de basis zijn voor een Starter Build of Build Sprint. Dan gebruiken we het beslisdocument om scope, timing en budget scherp te zetten.\n\nAls we geen sterke case zien, zeggen we dat ook. Dan bouwen we niet, of adviseren we om eerst het proces te vereenvoudigen.',
    en: 'Yes. If the business case holds up, the Quick Scan can be the basis for a Starter Build or Build Sprint. We use the decision document to lock in scope, timing and budget.\n\nIf we don’t see a strong case, we say so. We don’t build, or we recommend simplifying the process first.'
  },
  'faq.q14': {
    nl: 'Wat krijg ik concreet na een Quick Scan?',
    en: 'What do I concretely get after a Quick Scan?'
  },
  'faq.a14': {
    nl: 'Een kort beslisdocument met aanbevelingen. Daarin staat hoe de gekozen 1 \u00e0 2 processen vandaag lopen, waar tijd verloren gaat, wat automatisering kan opleveren en wat een logische eerste stap zou zijn.\n\nJe krijgt ook eerlijk advies over wat we niet zouden bouwen \u2014 bijvoorbeeld omdat de business case te zwak is, de input niet stabiel genoeg is of het proces eerst eenvoudiger moet.',
    en: 'A short decision document with recommendations. It covers how the chosen 1 or 2 processes run today, where time is lost, what automation could deliver, and what a logical first step would be.\n\nYou also get honest advice on what we wouldn\u2019t build \u2014 for example because the business case is too weak, the inputs aren\u2019t stable enough, or the process should be simplified first.'
  },

  // ============================================================
  // 7, ABOUT
  // ============================================================
  'about.eyebrow': { nl: '09 · TEAM', en: '09 · TEAM' },
  'about.h2': {
    nl: 'Drie operators. We ontwerpen, bouwen en laten het werken in jouw systemen.',
    en: 'Three operators. We design, build, and keep it running inside your systems.'
  },
  'about.subtitle': {
    nl: 'Een klein team. Ervaren operators.',
    en: 'A small team. Experienced operators.'
  },
  'about.p1': {
    nl: 'We zijn operators die de strategie kennen \u00E9n meten waar het om gaat. We bouwen automatiseringen, we shippen ze, en we blijven aan de lijn als ze live staan.',
    en: 'We\u2019re operators who know the strategy and measure what matters. We build automations, we ship them, and we stay on the line when they\u2019re live.'
  },
  'about.p2': {
    nl: 'MODUS is Latijn voor manier, maat, werkwijze. Modus operandi. Dat is letterlijk waar we mee bezig zijn.\n\nIedereen heeft een modus operandi: hoe je vandaag de dingen doet. AI biedt zich aan als een nieuwe modus, sneller en schaalbaarder, maar de meeste KMO\u2019s worden erin gedumpt, niet erdoor bevrijd.\n\nWij staan ertussen. We mappen hoe jouw bedrijf vandaag draait, kijken waar AI \u2018m versnelt en waar het \u2018m zou breken, en bouwen de versie die werkt voor jouw team, vanaf maandag.\n\nGebeten door AI. Gebeten door operations. Dat is onze modus.',
    en: 'MODUS is Latin for manner, measure, way. Modus operandi. That\u2019s literally what we do.\n\nEveryone has a modus operandi: how you do things today. AI offers itself up as a new modus, faster and more scalable, yet most SMBs get dumped into it, not freed by it.\n\nWe stand in between. We map how your business actually runs, see where AI accelerates it and where it would break it, then build the version that works for your team, starting Monday.\n\nBitten by AI. Bitten by operations. That\u2019s our modus.'
  },

  'about.chloe.role': { nl: 'AI-strategie & operations', en: 'AI strategy & operations' },
  'about.chloe.line': {
    nl: 'Mapt processen, scoort use-cases op risico en opbrengst, en schrijft de business case. Ze zorgt dat het strategisch klopt vóór er één regel code wordt geschreven.',
    en: 'Maps processes, scores use cases on risk and payoff, writes the business case. She makes sure the strategy holds up before a single line of code gets written.'
  },
  'about.chloe.cred': { nl: 'Begrijpt jouw werking, kiest use-cases', en: 'Understands your operations, picks use cases' },
  'about.boris.role': { nl: 'Automatiseringen & app development', en: 'Automations & app development' },
  'about.boris.line': {
    nl: 'Bouwt de flows in Microsoft 365, SharePoint, Power Automate en n8n. Van mail-classificatie met LLM’s en CRM-case types tot database-migraties en CRM-optimalisaties. Hij maakt dat het draait én blijft draaien.',
    en: 'Builds the flows in Microsoft 365, SharePoint, Power Automate and n8n. From LLM-based mail classification and CRM case types to database migrations and CRM optimization. He makes it run, and keeps it running.'
  },
  'about.boris.cred': { nl: 'Bouwt automatiseringen in jouw stack', en: 'Builds automations inside your stack' },
  'about.dax.role': { nl: 'Screening & workshops', en: 'Screening & workshops' },
  'about.dax.line': {
    nl: '15+ jaar ervaring in kostenreductie en operational efficiency. Hij leidt de AI-scans en proces-walkthroughs, en adviseert over de verbeteringen die het écht uithalen.',
    en: '15+ years in cost reduction and operational efficiency. He runs the AI scans and process walk-throughs, and advises on the improvements that actually move the needle.'
  },
  'about.dax.cred': { nl: '15+ jaar ops & efficiency', en: '15+ years ops & efficiency' },

  'about.strip': {
    nl: 'BRUSSEL \u00B7 NL/EN \u00B7 OP LOCATIE OF REMOTE',
    en: 'BRUSSELS \u00B7 NL/EN \u00B7 ON-SITE OR REMOTE'
  },

  // ============================================================
  // 8, CONTACT
  // ============================================================
  'contact.eyebrow': { nl: '03 · CONTACT', en: '03 · CONTACT' },
  'contact.h2': {
    nl: 'Vertel ons wat er goed draait en wat niet.',
    en: 'Tell us what’s running well and what isn’t.'
  },
  'contact.lede': {
    nl: 'Een 20 minuten kennismakingscall. Geen deck, geen pitch, gewoon vragen.',
    en: 'A 20-minute intro call. No deck, no pitch, just questions.'
  },
  'contact.cta': {
    nl: 'Boek een call',
    en: 'Book a call'
  },
  'contact.cta.secondary': {
    nl: 'Neem contact op',
    en: 'Get in touch'
  },
  'contact.or': { nl: 'OF', en: 'OR' },
  'contact.email': { nl: 'hello@modus-ops.be', en: 'hello@modus-ops.be' },
  'contact.book.url': { nl: 'https://cal.eu/modusops/intro', en: 'https://cal.eu/modusops/intro' },
  'contact.trust': {
    nl: 'We antwoorden je vraag binnen 24 uur op werkdagen.',
    en: 'We answer your question within 24 hours on business days.'
  },

  // ============================================================
  // FOOTER
  // ============================================================
  'footer.tag': {
    nl: 'AI en automatisering in jouw operations. Eerst de business case, dan de build.',
    en: 'AI and automation in your operations. Business case first, then the build.'
  },
  'footer.location': {
    nl: 'Vlaanderen + Brussel',
    en: 'Flanders + Brussels'
  },
  'footer.gdpr': {
    nl: 'NL/EN \u00B7 Op locatie of remote',
    en: 'NL/EN \u00B7 On-site or remote'
  },
  'footer.col.product': { nl: 'Diensten', en: 'Services' },
  'footer.col.company': { nl: 'Bedrijf', en: 'Company' },
  'footer.col.legal':   { nl: 'Juridisch', en: 'Legal' },
  'footer.legal.privacy': { nl: 'Privacy', en: 'Privacy' },
  'footer.legal.terms':   { nl: 'Voorwaarden', en: 'Terms' },
  'footer.copy':          { nl: '\u00A9 2026 MODUS - Brussel + Vlaanderen', en: '\u00A9 2026 MODUS - Brussels + Flanders' },
};

const tr = (lang, key) => {
  const entry = T[key];
  if (!entry) return key;
  // Use !== undefined so an explicit empty string is preserved
  // (avoids the key name leaking into UI for intentionally-blank fields).
  if (entry[lang] !== undefined) return entry[lang];
  if (entry.nl !== undefined) return entry.nl;
  return key;
};

window.T = T;
window.tr = tr;

// =============================================================
// Hero Workflow Tape, three KMO workflows for the hero animation.
// Hero-safe: NO ERP / accounting / banking endpoints (per spec v2).
// One per priority audience: contractor → prof services → manufacturer.
// =============================================================
const HERO_WORKFLOWS = {
  nl: [
    {
      id: 'plaatsbezoek',
      pillTitle: 'Aanvraag \u2192 Plaatsbezoek',
      audience: 'AANNEMER',
      stack: 'OUTLOOK \u00B7 GOOGLE MAPS \u00B7 OUTLOOK AGENDA \u00B7 SMS',
      beats: [
        { time: '09:14', label: 'Aanvraag in inbox',   meta: 'Familie De Smet' },
        { time: '09:14', label: 'Adres gecheckt',      meta: 'Gent' },
        { time: '09:14', label: 'Vrij slot gevonden',  meta: 'di 14:00\u201315:00' },
        { time: '09:15', label: 'Bevestiging verstuurd', meta: 'sms + agenda' },
        { time: '09:15', label: 'In dagplanning',      meta: 'route van Stijn' },
      ],
      outcome: { before: '28 min', after: '45 sec', counterPrefix: 'vandaag al', counterValue: '14\u00D7' },
    },
    {
      id: 'offerte',
      pillTitle: 'Aanvraag \u2192 Offerte verzonden',
      audience: 'PROF. SERVICES',
      stack: 'OUTLOOK \u00B7 TEAMLEADER \u00B7 PDF \u00B7 DIGITALE HANDTEKENING',
      beats: [
        { time: '14:02', label: 'Aanvraag in inbox',   meta: 'Vandekerckhove BVBA' },
        { time: '14:02', label: 'Klant aangemaakt',    meta: 'in Teamleader' },
        { time: '14:03', label: 'Offerte opgemaakt',   meta: 'sjabloon \u201CAdvies\u201D' },
        { time: '14:03', label: 'Verstuurd ter ondertekening', meta: 'digitale handtekening' },
        { time: '14:04', label: 'Opvolging ingepland', meta: 'over 3 werkdagen' },
      ],
      outcome: { before: '52 min', after: '2 min', counterPrefix: 'deze week al', counterValue: '38\u00D7' },
    },
    {
      id: 'verzending',
      pillTitle: 'Bestelling \u2192 Verzending klaar',
      audience: 'MAAKBEDRIJF',
      stack: 'OUTLOOK \u00B7 DPD \u00B7 ONEDRIVE \u00B7 WHATSAPP',
      beats: [
        { time: '08:31', label: 'Bestelling in inbox',  meta: 'Verlinden NV \u00B7 #4821' },
        { time: '08:31', label: 'Picklist klaar',       meta: 'magazijn B' },
        { time: '08:32', label: 'Verzendlabel klaar',   meta: 'DPD \u00B7 #LB7299' },
        { time: '08:32', label: 'Klant verwittigd',     meta: 'WhatsApp + e-mail' },
        { time: '08:33', label: 'Picker toegewezen',    meta: 'Marc \u00B7 ploeg 1' },
      ],
      outcome: { before: '22 min', after: '90 sec', counterPrefix: 'deze maand al', counterValue: '410\u00D7' },
    },
    {
      id: 'klantvraag',
      pillTitle: 'Klantvraag \u2192 Persoonlijke draft',
      audience: 'ZELFSTANDIGE',
      stack: 'OUTLOOK \u00B7 CRM \u00B7 OUTLOOK AGENDA \u00B7 WORD',
      beats: [
        { time: '14:02', label: 'Mail in inbox',         meta: 'vraag van klant' },
        { time: '14:02', label: 'Context opgehaald',     meta: 'website + eerdere mails' },
        { time: '14:03', label: 'Persoonlijke brand voice geladen', meta: 'jouw stem' },
        { time: '14:03', label: 'Draft klaar',           meta: 'jij leest, jij stuurt' },
        { time: '14:04', label: 'Antwoord verstuurd',    meta: 'opvolging in 3 dagen' },
      ],
      outcome: { before: '32 min', after: '90 sec', counterPrefix: 'deze week al', counterValue: '27\u00D7' },
    },
    {
      id: 'blogpost',
      pillTitle: 'Briefing \u2192 Blogpost live',
      audience: 'MARKETING',
      stack: 'NOTION \u00B7 WORDPRESS \u00B7 LINKEDIN',
      beats: [
        { time: '10:14', label: 'Aanvraag in inbox',                   meta: 'blog over Q3 launch' },
        { time: '10:14', label: 'Context opgehaald',                   meta: 'website + eerdere posts' },
        { time: '10:15', label: 'Persoonlijke brand voice geladen',    meta: 'jouw schrijfstijl' },
        { time: '10:15', label: 'Draft review',                        meta: 'jij leest, jij keurt goed' },
        { time: '10:18', label: 'Gepubliceerd',                        meta: 'WordPress + LinkedIn' },
      ],
      outcome: { before: '4 uur', after: '12 min', counterPrefix: 'deze maand al', counterValue: '18\u00D7' },
    },
  ],
  en: [
    {
      id: 'plaatsbezoek',
      pillTitle: 'Request \u2192 Site visit booked',
      audience: 'CONTRACTOR',
      stack: 'OUTLOOK \u00B7 GOOGLE MAPS \u00B7 OUTLOOK CAL \u00B7 SMS',
      beats: [
        { time: '09:14', label: 'Request in inbox',     meta: 'De Smet family' },
        { time: '09:14', label: 'Address checked',      meta: 'Ghent' },
        { time: '09:14', label: 'Free slot found',      meta: 'Tue 14:00\u201315:00' },
        { time: '09:15', label: 'Confirmation sent',    meta: 'SMS + calendar' },
        { time: '09:15', label: 'Added to day plan',    meta: 'Stijn\u2019s route' },
      ],
      outcome: { before: '28 min', after: '45 sec', counterPrefix: 'today already', counterValue: '14\u00D7' },
    },
    {
      id: 'offerte',
      pillTitle: 'Request \u2192 Quote sent',
      audience: 'PROF. SERVICES',
      stack: 'OUTLOOK \u00B7 TEAMLEADER \u00B7 PDF \u00B7 E-SIGNATURE',
      beats: [
        { time: '14:02', label: 'Request in inbox',     meta: 'Vandekerckhove BVBA' },
        { time: '14:02', label: 'Client created',       meta: 'in Teamleader' },
        { time: '14:03', label: 'Quote drafted',        meta: '\u201CAdvisory\u201D template' },
        { time: '14:03', label: 'Sent for signature',   meta: 'e-signature' },
        { time: '14:04', label: 'Follow-up scheduled',  meta: 'in 3 business days' },
      ],
      outcome: { before: '52 min', after: '2 min', counterPrefix: 'this week already', counterValue: '38\u00D7' },
    },
    {
      id: 'verzending',
      pillTitle: 'Order \u2192 Shipment ready',
      audience: 'MANUFACTURER',
      stack: 'OUTLOOK \u00B7 DPD \u00B7 ONEDRIVE \u00B7 WHATSAPP',
      beats: [
        { time: '08:31', label: 'Order in inbox',       meta: 'Verlinden NV \u00B7 #4821' },
        { time: '08:31', label: 'Picklist ready',       meta: 'warehouse B' },
        { time: '08:32', label: 'Shipping label ready', meta: 'DPD \u00B7 #LB7299' },
        { time: '08:32', label: 'Customer notified',    meta: 'WhatsApp + email' },
        { time: '08:33', label: 'Picker assigned',      meta: 'Marc \u00B7 team 1' },
      ],
      outcome: { before: '22 min', after: '90 sec', counterPrefix: 'this month already', counterValue: '410\u00D7' },
    },
    {
      id: 'klantvraag',
      pillTitle: 'Client question \u2192 Personal draft',
      audience: 'SOLO FOUNDER',
      stack: 'OUTLOOK \u00B7 CRM \u00B7 OUTLOOK CAL \u00B7 WORD',
      beats: [
        { time: '14:02', label: 'Email in inbox',                       meta: 'question from client' },
        { time: '14:02', label: 'Context retrieved',                    meta: 'website + earlier emails' },
        { time: '14:03', label: 'Personal brand voice loaded',          meta: 'your voice' },
        { time: '14:03', label: 'Draft ready',                          meta: 'you read, you send' },
        { time: '14:04', label: 'Reply sent',                           meta: 'follow-up in 3 days' },
      ],
      outcome: { before: '32 min', after: '90 sec', counterPrefix: 'this week already', counterValue: '27\u00D7' },
    },
    {
      id: 'blogpost',
      pillTitle: 'Briefing \u2192 Blog post live',
      audience: 'MARKETING',
      stack: 'NOTION \u00B7 WORDPRESS \u00B7 LINKEDIN',
      beats: [
        { time: '10:14', label: 'Request in inbox',                     meta: 'blog about Q3 launch' },
        { time: '10:14', label: 'Context retrieved',                    meta: 'website + earlier posts' },
        { time: '10:15', label: 'Personal brand voice loaded',          meta: 'your style' },
        { time: '10:15', label: 'Draft review',                         meta: 'you read, you approve' },
        { time: '10:18', label: 'Published',                            meta: 'WordPress + LinkedIn' },
      ],
      outcome: { before: '4 hrs', after: '12 min', counterPrefix: 'this month already', counterValue: '18\u00D7' },
    },
  ],
};
window.HERO_WORKFLOWS = HERO_WORKFLOWS;

// =============================================================
// Case studies - structured data for the Cases section.
// 6 cases: 1 featured (AI strategy/consultancy) + 5 in carousel.
// All copy is placeholder; client agreed to edit later.
// =============================================================
const CASES = {
  nl: {
    sectionEyebrow: '01 \u00B7 CASES',
    sectionH2: 'Werk dat bleef hangen. Flows die blijven werken.',
    sectionLede: 'Cases rond AI-automatisering, contentflows, e-mailopvolging en websites die beter gevonden worden. Geen demo\u2019s, maar oplossingen rond echte processen.',
    featuredLabel: 'UITGELICHTE CASE',
    swipeHint: 'Sleep om door de cases te bladeren',
    readMore: 'Lees de case',
    featured: {
      id: 'email-ai-classify',
      story: [
        "Een Belgische logistieke dienstverlener verwerkte dagelijks honderden mails in één gedeelde mailbox: klantklachten, leveringsvragen, carrier-updates en interne queries door elkaar. De ochtend begon met manuele triage door één medewerker, prioriteiten waren onduidelijk en SLA's onmeetbaar.",
        "We bouwden een AI-classificatieflow rond de bestaande mailomgeving: elke inkomende mail krijgt automatisch een categorie, urgentie en confidence score, gelogd in een centraal review-systeem. In een overzichts-interface bevestigt de medewerker de AI-suggestie in één klik, of corrigeert via dropdown. Elke correctie wordt als human label bewaard naast het AI-label, een directe feedback-loop voor het model.",
        "Het resultaat: minder tijd kwijt aan sorteren, meer tijd aan oplossen. SLA's worden automatisch gemeten van binnenkomst tot afsluiting, gevolgd door een CSAT-vraag. Operationele performantie en klantbeleving in één flow, menselijk waar nodig, geautomatiseerd waar mogelijk.",
        "Wat we bewust niet deden: de AI laten antwoorden in plaats van de medewerker. Mail-classificatie is een herhalingstaak die zich leent voor automatisering. Een antwoord schrijven naar een klant met een klacht is dat niet. Daar hoort een mens.",
      ],
      kind: 'AI AUTOMATION + CRM FLOW',
      // CLIENT placeholder - vervang door echte naam zodra klant publiekelijk akkoord is.
      // Voorbeeld: client: 'PVS \u00B7 LOGISTIEK', sector: 'Logistiek dienstverlener \u00B7 65 FTE'
      client: 'LOGISTIEK DIENSTVERLENER',
      sector: 'Geanonimiseerd · multi-team operations',
      title: 'Van gedeelde mailbox naar slimme serviceflow.',
      summary: 'Honderden mails per dag in één gedeelde mailbox. We bouwden een classificatie-flow: een AI-model labelt, een medewerker bevestigt in één klik, SLA en klanttevredenheid worden continu gemeten. Menselijk waar nodig, geautomatiseerd waar mogelijk.',
      // METRICS - featured-descriptive (huidig) of cijfer-based (na harde data):
      //   Variant A - cijfers na 3 maanden run-time (vervang waarden door echte):
      //     { value: '~85%', label: 'AI-classificatie zonder correctie nodig' },
      //     { value: '4 min \u2192 30s', label: 'Gem. triage-tijd per mail' },
      //     { value: '+22%', label: 'SLA-compliance na 3 maanden' },
      //   Variant B - volume + tijd (als triage-volume meetbaar is):
      //     { value: '~240/dag', label: 'Mails geclassificeerd zonder handwerk' },
      //     { value: '<30s', label: 'Per mail van inbox \u2192 ticket' },
      //     { value: '+22%', label: 'SLA-compliance na 3 maanden' },
      metrics: [
        { value: 'Auto SLA', label: 'Klanttevredenheid + SLA van inbox tot afsluiting gemeten' },
        { value: '1 klik', label: 'Per AI-suggestie bevestigen of corrigeren' },
        { value: '9 stappen', label: 'End-to-end automatische flow' },
      ],
      flow: [
        { time: 'WK 1', label: 'Mailbox-mapping + categorie\u00EBn' },
        { time: 'WK 2', label: 'AI-classificatie + thread-matching' },
        { time: 'WK 3', label: 'Review-interface + SLA-meting' },
        { time: 'WK 4', label: 'CSAT-trigger + feedback-loop' },
      ],
      stack: [],
    },
    carousel: [
      {
        id: 'content-automation',
        comingSoon: 'Early access · 2026',
        story: [
        "Zelfstandigen en kleine teams weten vaak perfect waar ze voor staan, maar hebben zelden de tijd om daar elke week opnieuw een volledige marketingaanpak rond te bouwen. Blogs, social posts, nieuwsbrieven, campagnes en landing pages vragen niet alleen schrijfwerk, maar ook strategie, planning, formats, opvolging en consistentie.",
        "Generieke AI-output lost dat niet op. Die klinkt vaak vlak, te algemeen of niet zoals het merk zelf zou spreken. Daarom bouwden we MODUS Content Engine. We leggen tone of voice, formats, voorkeuren, terminologie, do\u2019s en don\u2019ts vast. Ook eerdere feedback en correcties worden meegenomen, zodat nieuwe drafts steeds beter aansluiten bij hoe het merk denkt, schrijft en verkoopt.",
        "De engine kan blogs, social posts, nieuwsbrieven, campagnecopy en landing page copy voorbereiden. Niet als eindeloze AI-output, maar als publicatieklare basis met menselijke review op de juiste momenten. Resultaat: minder briefen, minder herschrijven, en meer consistentie over kanalen heen. Wat we bewust niet doen: volledig automatisch publiceren zonder review. De klant blijft eigenaar van de stem, de keuzes en de finale publicatie.",
      ],
        kind: 'AI CONTENT AUTOMATION',
        client: 'MODUS CONTENT ENGINE',
        sector: 'Brand voice \u00B7 publishing flow \u00B7 pilot',
        title: 'Van losse idee\u00EBn naar content in je eigen stem.',
        metrics: [
          { value: 'On-brand', label: 'Voice, formats en feedback meegenomen in elke draft' },
          { value: 'Multi-format', label: 'Blogs, social, nieuwsbrief, campagnes, landing pages' },
          { value: 'Human review', label: 'Klant blijft eigenaar van toon en publicatie' },
        ],
        stack: [],
      },
      {
        id: 'chef-and-chief',
        externalLink: 'https://chefandchief.be',
        image: 'uploads/cases/chef-and-chief/hero.png',
        gallery: ['uploads/cases/chef-and-chief/secondary.png'],
      story: [
        "Chef and Chief is een Brussels duo voor private dining en catering aan huis, voor zakelijke en private events. Sterke keuken, sterk publiek, maar de oude site werkte tegen hen: traag op mobiel, geen heldere offerteflow, en alleen in het Nederlands, terwijl een groot deel van het Brusselse en internationale publiek Frans- of Engelstalig is.",
        "We bouwden een nieuwe drietalige website (NL/FR/EN) met één heldere intake-flow voor offerteaanvragen, een visuele opbouw die de keuken laat spreken in plaats van de pagina vol te schrijven, en snelle laadtijden ook op mobiel. De migratie van de oude omgeving verliep zonder downtime; de bestaande zakelijke mailomgeving bleef ongewijzigd.",
        "Resultaat: een professionelere indruk bij eerste contact, bredere taalreach voor zakelijke events, en offerteaanvragen die rechtstreeks in de mailbox landen, zonder formulier-jungle, zonder achterstand op contactopvolging.",
      ],
        kind: 'WEB DESIGN + 3 TALEN',
        client: 'CHEF AND CHIEF',
        sector: 'Private dining & catering · Brussel',
        title: 'Drietalige site, snellere intake, klaar voor zakelijke events.',
        metrics: [
          { value: '3 talen', label: 'NL / FR / EN volledige parity' },
          { value: 'Intake live', label: 'Offerteaanvragen rechtstreeks in de mailbox' },
          { value: 'Zero downtime', label: 'Migratie zonder onderbreking' },
        ],
        stack: [],
      },
      {
        id: 'shadowbox',
        comingSoon: 'shadowbox.be · live Q3 2026',
        image: 'uploads/cases/shadowbox/hero.png',
        gallery: ['uploads/cases/shadowbox/secondary.png', 'uploads/cases/shadowbox/render.png'],
        story: [
        "Shadowbox is een interieurontwerpstudio in Beringen, gespecialiseerd in 3D-visualisatie en maatwerkinterieur voor woningeigenaars, architecten en ontwikkelaars. Sterk portfolio, maar de oude website werkte niet: trage laadtijden, vage positionering, en geen vindbaarheid op regionale zoekopdrachten in Limburg.",
        "We bouwden een nieuwe website rond drie pijlers: heldere cases als bewijs, scherpe positionering per doelgroep (woningeigenaars, architecten, ontwikkelaars) met elk een eigen ingang en eindcall, en een SEO-fundering die werkt voor regionale zoektermen én voor de nieuwe AI-zoekmachines. Een proces-pagina geeft direct duidelijkheid over scope en doorlooptijd.",
        "Resultaat: een professionele site die uitlegt, overtuigt én gevonden wordt op de queries waar de doelgroep daadwerkelijk naar zoekt. Klaar voor productie-cutover; daarna gaat shadowbox.be live op het eigen domein.",
      ],
        kind: 'WEB DESIGN + LOCAL SEO',
        client: 'SHADOWBOX',
        sector: 'Interieurontwerp & 3D-visualisatie · Beringen',
        title: 'Nieuwe website, scherpere positionering, betere regionale vindbaarheid.',
        metrics: [
          { value: 'Regionaal', label: 'Vindbaar in Limburg en omgeving op de juiste queries' },
          { value: '3 funnels', label: 'Per doelgroep eigen ingang en eindcall' },
          { value: '3-in-1', label: 'Web + positionering + SEO/GEO' },
        ],
        stack: [],
      },
      {
        id: 'yutori',
        externalLink: 'https://praktijkyutori.be',
        image: 'uploads/cases/yutori/hero.png',
      story: [
        "Praktijk Yutori is de coaching- en begeleidingspraktijk van Tess in Tessenderlo (Limburg), gericht op (jong-)volwassenen die zoeken naar rust, ruimte en richting. De praktijk groeide via mond-tot-mond, maar de oude website stond al jaren in de weg: generieke stockfoto's, copy die over kwalificaties ging in plaats van klantbehoeften, en nul leads via de site.",
        "We bouwden een nieuwe website rond Tess' eigen stem. Echte foto's, copy die het publiek aanspreekt op wat het écht zoekt (rust, begeleiding, hartcoherentie, kerntalentenanalyse), een mobiele booking-flow die in twee tikken naar een intake leidt, en een SEO-fundering afgestemd op de regionale en methodische zoektermen die haar doelgroep daadwerkelijk gebruikt.",
        "Vanaf maand één: intakes geboekt via de website. De gesprekken starten op het juiste niveau omdat de mensen die zich aanmelden zich al herkennen in wat ze daar lazen. Tess hoeft zich niet meer te excuseren wanneer iemand vraagt om haar site door te sturen.",
        "Wat we bewust niet deden: een chatbot bouwen. De winst zat niet aan de voorkant, maar in een eerlijke voice, copy die het publiek aanspreekt en een booking-flow die werkt. Soms is het beste antwoord op \"meer leads\" geen extra tool, maar een betere site.",
      ],
        kind: 'WEB DESIGN + LEAD GEN',
        client: 'PRAKTIJK YUTORI',
        sector: 'Coaching & begeleiding \u00B7 solo praktijk',
        title: 'Voor het eerst leads via de website, vanaf maand \u00E9\u00E9n.',
        metrics: [
          { value: 'Leads M1', label: 'Eerste maand live al intakes geboekt' },
          { value: 'Booking live', label: 'Online afspraken plannen werkt' },
          { value: 'Vindbaar', label: 'Op queries die haar publiek \u00E9cht stelt' },
        ],
        stack: [],
      }
    ],
    testimonialsEyebrow: '02 \u00B7 REVIEWS',
    testimonialsH2: 'Wat klanten over ons zeggen.',
    testimonials: [
      {
        quote: 'Ik durf mijn aanbod nu eindelijk duidelijk tonen. De site voelt professioneel en helemaal zoals ik werk. Sinds de lancering krijg ik bijna dagelijks nieuwe aanvragen of telefoontjes van mensen die veel beter begrijpen waarvoor ze bij mij terechtkunnen.',
        name: 'Tess',
        role: 'Coach',
        company: 'Praktijk Yutori',
      },
      {
        quote: 'MODUS maakte onze projecten, expertise en lokale vindbaarheid veel scherper. De site voelt niet meer als een gewoon portfolio, maar als een duidelijke basis voor groei.',
        name: 'Shadowbox',
        role: 'Interieurstudio',
        company: 'Beringen',
      },
      {
        quote: 'Onze site en brochure tonen nu veel duidelijker welke cateringformules mogelijk zijn. Vooral in het Brusselse bedrijfsleven krijgen we meer Franstalige aanvragen en kunnen we sneller de juiste formule voorstellen.',
        name: 'Chef & Chief',
        role: 'Catering & events',
        company: 'Brussel',
      },
    ],
  },
  en: {
    sectionEyebrow: '01 \u00B7 CASES',
    sectionH2: 'Work that got stuck. Flows that keep working.',
    sectionLede: 'Cases around AI automation, content flows, email follow-up, and websites that get found. Not demos, but solutions built around real processes.',
    featuredLabel: 'FEATURED CASE',
    swipeHint: 'Drag to scroll through cases',
    readMore: 'Read the case',
    featured: {
      id: 'email-ai-classify',
      story: [
        "A Belgian logistics provider was processing hundreds of emails daily through one shared mailbox: complaints, delivery questions, carrier updates and internal queries all mixed together. Every morning started with manual triage by one team member; priorities were unclear and SLAs unmeasurable.",
        "We built an AI classification flow around the existing mail environment: every incoming email gets a category, urgency and confidence score automatically, logged in a central review system. In an overview interface the team member confirms the AI suggestion in one click, or corrects via dropdown. Every correction is stored as a human label alongside the AI label, a direct feedback loop for the model.",
        "The outcome: less time sorting, more time solving. SLAs are tracked automatically from arrival to closure, followed by a CSAT question. Operational performance and customer experience in one flow, human where needed, automated where possible.",
        "What we deliberately did not do: let the AI reply instead of the team member. Email classification is a repetitive task that lends itself to automation. Writing a reply to a customer with a complaint is not. That needs a human.",
      ],
      kind: 'AI AUTOMATION + CRM FLOW',
      // CLIENT placeholder - replace with real name once publicly approved.
      // Example: client: 'PVS \u00B7 LOGISTICS', sector: 'Logistics provider \u00B7 65 FTE'
      client: 'LOGISTICS PROVIDER',
      sector: 'Anonymised · multi-team operations',
      title: 'From shared mailbox to smart service flow.',
      summary: 'Hundreds of emails per day in one shared mailbox. We built a classification flow: an AI model labels, a team member confirms in one click, SLA and customer satisfaction tracked continuously. Human where needed, automated where possible.',
      // METRICS - feature-descriptive (current) or number-based (when hard data is in):
      //   Variant A - numbers after 3 months runtime (replace values with real data):
      //     { value: '~85%', label: 'AI classification needs no correction' },
      //     { value: '4 min \u2192 30s', label: 'Avg triage time per email' },
      //     { value: '+22%', label: 'SLA compliance after 3 months' },
      //   Variant B - volume + time (when triage volume is measurable):
      //     { value: '~240/day', label: 'Emails classified without manual work' },
      //     { value: '<30s', label: 'Per email from inbox \u2192 ticket' },
      //     { value: '+22%', label: 'SLA compliance after 3 months' },
      metrics: [
        { value: '9 steps', label: 'End-to-end automated flow' },
        { value: '1 click', label: 'Per AI suggestion to confirm or correct' },
        { value: 'T\u2080 \u2192 CSAT', label: 'SLA + customer satisfaction tracked' },
      ],
      flow: [
        { time: 'WK 1', label: 'Mailbox mapping + categories' },
        { time: 'WK 2', label: 'AI classification + thread matching' },
        { time: 'WK 3', label: 'Review interface + SLA tracking' },
        { time: 'WK 4', label: 'CSAT trigger + feedback loop' },
      ],
      stack: [],
    },
    carousel: [
      {
        id: 'content-automation',
        comingSoon: 'Early access · 2026',
        story: [
        "Solo founders and small teams usually know exactly what they stand for, but rarely have time to build a full marketing motion around it every week. Blogs, social posts, newsletters, campaigns and landing pages need writing \u2014 but also strategy, planning, formats, follow-up and consistency.",
        "Generic AI output doesn't solve that. It tends to sound flat, too general, or not the way the brand actually speaks. So we built MODUS Content Engine. We capture tone of voice, formats, preferences, terminology, do\u2019s and don\u2019ts. Earlier feedback and corrections are carried forward, so every new draft lands closer to how the brand thinks, writes and sells.",
        "The engine can prep blogs, social posts, newsletters, campaign copy and landing page copy. Not as endless AI output, but as publish-ready drafts with human review at the right moments. Result: less briefing, less rewriting, and more consistency across channels. What we deliberately don't do: fully automatic publishing without review. The client stays the owner of the voice, the choices and the final publication.",
      ],
        kind: 'AI CONTENT AUTOMATION',
        client: 'MODUS CONTENT ENGINE',
        sector: 'Brand voice \u00B7 publishing flow \u00B7 pilot',
        title: 'From scattered ideas to content in your own voice.',
        metrics: [
          { value: 'On-brand', label: 'Voice, formats and feedback carried into every draft' },
          { value: 'Multi-format', label: 'Blogs, social, newsletter, campaigns, landing pages' },
          { value: 'Human review', label: 'Client stays owner of voice and publication' },
        ],
        stack: [],
      },
      {
        id: 'chef-and-chief',
        externalLink: 'https://chefandchief.be',
        image: 'uploads/cases/chef-and-chief/hero.png',
        gallery: ['uploads/cases/chef-and-chief/secondary.png'],
      story: [
        "Chef and Chief is a Brussels duo offering private dining and at-home catering for corporate and private events. Strong kitchen, strong audience, but the old site worked against them: slow on mobile, no clear quote flow, and Dutch only, while much of the Brussels and international audience speaks French or English.",
        "We built a new trilingual site (NL/FR/EN) with one clear intake flow for quote requests, a visual structure that lets the kitchen do the talking rather than filling the page with copy, and fast load times on mobile. The migration from the old environment ran zero-downtime; the existing corporate mail environment stayed untouched.",
        "Result: a more professional first impression, broader language reach for corporate events, and quote requests landing straight in the inbox, without a form jungle, without lag on contact follow-up.",
      ],
        kind: 'WEB DESIGN + 3 LANGUAGES',
        client: 'CHEF AND CHIEF',
        sector: 'Private dining & catering · Brussels',
        title: 'Trilingual site, faster intake, ready for corporate events.',
        metrics: [
          { value: '3 langs', label: 'NL / FR / EN full parity' },
          { value: 'Intake live', label: 'Quote requests land straight in the inbox' },
          { value: 'Zero downtime', label: 'Migration without interruption' },
        ],
        stack: [],
      },
      {
        id: 'shadowbox',
        comingSoon: 'shadowbox.be · launching Q3 2026',
        image: 'uploads/cases/shadowbox/hero.png',
        gallery: ['uploads/cases/shadowbox/secondary.png', 'uploads/cases/shadowbox/render.png'],
        story: [
        "Shadowbox is an interior design studio in Beringen specialising in 3D visualisation and custom interiors for homeowners, architects and developers. Strong portfolio, weak website: slow load times, unclear positioning, and zero visibility on regional searches across Limburg.",
        "We rebuilt the website around three pillars: sharp cases as proof, dedicated positioning per audience (homeowners, architects, developers) with their own entry point and end-call, and an SEO foundation tuned for regional terms and for the new generation of AI search engines. A process page makes scope and timeline immediately clear.",
        "Result: a professional site that explains, convinces and actually gets found on the queries the target audience uses. Ready for production cutover; after that, shadowbox.be goes live on its own domain.",
      ],
        kind: 'WEB DESIGN + LOCAL SEO',
        client: 'SHADOWBOX',
        sector: 'Interior design & 3D viz · Beringen',
        title: 'New site, sharper positioning, better regional findability.',
        metrics: [
          { value: 'Regional', label: 'Findable across Limburg on the right queries' },
          { value: '3 funnels', label: 'Each audience its own entry and end-call' },
          { value: '3-in-1', label: 'Web + positioning + SEO/GEO' },
        ],
        stack: [],
      },
      {
        id: 'yutori',
        externalLink: 'https://praktijkyutori.be',
        image: 'uploads/cases/yutori/hero.png',
      story: [
        "Praktijk Yutori is Tess's coaching and guidance practice in Tessenderlo (Limburg), focused on (young) adults looking for calm, space and direction. The practice grew through word of mouth, but the old website had been getting in the way for years: stock photos, copy about credentials instead of client needs, and zero leads via the site.",
        "We rebuilt the site around Tess's own voice. Real photos, copy that speaks to her audience on what they're actually looking for (calm, guidance, heart coherence, core-talent analysis), a mobile booking flow that gets visitors to an intake in two taps, and an SEO foundation tuned to the regional and methodology-specific queries her audience actually uses.",
        "From month one: intakes booked via the website. The conversations start at the right level because the people reaching out already recognise themselves in what they read there. Tess no longer has to apologise when someone asks her to share her site.",
        "What we deliberately did not do: build a chatbot. The win was not at the front end, it was in an honest voice, copy that speaks to the audience, and a booking flow that works. Sometimes the best answer to \"more leads\" is not an extra tool but a better site.",
      ],
        kind: 'WEB DESIGN + LEAD GEN',
        client: 'PRAKTIJK YUTORI',
        sector: 'Coaching & guidance \u00B7 solo practice',
        title: 'First leads via the website, from month one.',
        metrics: [
          { value: 'Leads M1', label: 'First-month intakes booked straight away' },
          { value: 'Booking live', label: 'Online appointment scheduling that works' },
          { value: 'Findable', label: 'On the queries her audience actually asks' },
        ],
        stack: [],
      }
    ],
    testimonialsEyebrow: '02 \u00B7 REVIEWS',
    testimonialsH2: 'What clients say.',
    testimonials: [
      {
        quote: 'I finally dare to show my offer clearly. The site feels professional and exactly like the way I work. Since launch I get new requests or phone calls almost daily from people who already understand what they can come to me for.',
        name: 'Tess',
        role: 'Coach',
        company: 'Praktijk Yutori',
      },
      {
        quote: 'MODUS sharpened our projects, expertise and local findability. The site no longer feels like a regular portfolio, but like a clear basis for growth.',
        name: 'Shadowbox',
        role: 'Interior design studio',
        company: 'Beringen',
      },
      {
        quote: 'Our site and brochure now make our catering formats much clearer. Especially in the Brussels corporate market we get more French-speaking requests and can propose the right format faster.',
        name: 'Chef & Chief',
        role: 'Catering & events',
        company: 'Brussels',
      },
    ],
  },
};
window.CASES = CASES;
