PageSourceSearch

https://safeos.de/

html safeos.de collected 2026-10-02 16:12:50 UTC 137,394 bytes, 2,169 lines download raw bytes

1<!doctype html>
2<html lang="de">
3<head>
4<meta charset="utf-8" />
5<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
6<title>safeOS – Rechtssicherheit durch Last Minute Risk Analysis</title>
7<meta name="description" content="safeOS ist die SaaS-Plattform für rechtssichere Arbeitssicherheit. Lückenlose Dokumentation, ArbSchG-konform, in Minuten einsatzbereit. Schützen Sie Ihr Unternehmen vor Haftung, Bußgeldern und Ausfallkosten." />
8<meta name="application-name" content="safeOS" />
9<meta name="theme-color" content="#0a0a0a" />
10<meta property="og:title" content="safeOS – Rechtssicherheit für Unternehmer" />
11<meta property="og:description" content="Die SaaS-Plattform für gerichtsverwertbare LMRA-Dokumentation gemäß ArbSchG. In 3 Minuten zur ersten LMRA." />
12<meta property="og:image" content="https://safeos.de/wp-content/uploads/2025/05/safeos_hero-img.png" />
13<link rel="icon" href="/assets/favicon.ico" sizes="any" />
14<link rel="icon" type="image/svg+xml" href="/assets/favicon.svg" />
15<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png" />
16<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png" />
17<link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png" />
18<link rel="manifest" href="/site.webmanifest" />
19
20<link rel="preconnect" href="https://fonts.googleapis.com" />
21<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
22<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@300;400;500;600;700;800&family=Sora:wght@400;500;600;700&display=swap" rel="stylesheet" />
23
24<link rel="stylesheet" href="./assets/styles.css" />
25</head>
26<body class="page-home">
27
28<!-- ─── Navigation ─── -->
29<header class="nav-wrap">
30  <nav class="nav container">
31    <a href="#" class="nav-logo" aria-label="safeOS Home">
32      <img src="./assets/safeos_logo-komplett_white-de.svg" alt="safeOS" />
33    </a>
34
35    <div class="nav-links" id="navLinks">
36      <a href="#problem" class="nav-link" data-i18n="nav.problem">Risiko</a>
37      <a href="#solution" class="nav-link" data-i18n="nav.solution">Lösung</a>
38      <a href="#legal" class="nav-link" data-i18n="nav.legal">Rechtssicherheit</a>
39      <a href="#pricing" class="nav-link" data-pricing-open data-i18n="nav.pricing">Preise</a>
40      <a href="https://portal.safeos.de/register" class="nav-link" target="_blank" rel="noopener noreferrer" data-i18n="nav.register">Registrieren</a>
41      <a href="https://portal.safeos.de/login" class="nav-link" target="_blank" rel="noopener noreferrer" data-i18n="nav.login">Login</a>
42      <a href="#faq" class="nav-link" data-i18n="nav.faq">FAQ</a>
43    </div>
44
45    <div class="nav-right">
46      <div class="lang-switch" id="langSwitch">
47        <button class="lang-trigger" aria-haspopup="listbox" aria-expanded="false">
48          <span id="langCurrent">DE</span>
49          <svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="2">
50            <path d="M2 4l4 4 4-4" />
51          </svg>
52        </button>
53        <div class="lang-menu" role="listbox">
54          <button class="lang-option" data-lang="de"><span class="flag">🇩🇪</span>Deutsch<span class="code">DE</span></button>
55          <button class="lang-option" data-lang="en"><span class="flag">🇬🇧</span>English<span class="code">EN</span></button>
56          <button class="lang-option" data-lang="es"><span class="flag">🇪🇸</span>Español<span class="code">ES</span></button>
57          <button class="lang-option" data-lang="fr"><span class="flag">🇫🇷</span>Français<span class="code">FR</span></button>
58          <button class="lang-option" data-lang="pt"><span class="flag">🇵🇹</span>Português<span class="code">PT</span></button>
59        </div>
60      </div>
61
62      <a href="/app-mockup-demo" class="btn btn-primary" data-demo-trigger data-i18n="nav.cta">
63        <span>Live-Demo</span>
64        <span class="demo-play-icon" aria-hidden="true">
65          <svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor">
66            <path d="M4 3.25v5.5L8.75 6 4 3.25Z" />
67          </svg>
68        </span>
69      </a>
70
71      <button class="menu-toggle" id="menuToggle" aria-label="Menu">
72        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
73          <path d="M3 6h18M3 12h18M3 18h18"/>
74        </svg>
75      </button>
76    </div>
77  </nav>
78</header>
79
80<!-- ─── Hero ─── -->
81<section class="hero">
82  <div class="container">
83    <div class="reveal">
84      <div class="hero-eyebrow">
85        <span data-i18n="hero.eyebrow">Last Minute Risk Analysis</span>
86      </div>
87    </div>
88
89    <h1 class="hero-title reveal" data-delay="100">
90      <span data-i18n-html="hero.title">Ein einziger Unfall<br/>kostet mehr<br/>als <span class="italic">jahrelange</span> <span class="accent">Prävention</span>.</span>
91    </h1>
92
93    <p class="hero-sub reveal" data-delay="200" data-i18n="hero.sub">
94      safeOS ist die Arbeitssicherheitsplattform, die Ihr Unternehmen rechtlich absichert. Mitarbeitende beantworten vor Arbeitsbeginn risikobezogene Ja/Nein-Fragen – Sie erhalten lückenlose Dokumentation, ArbSchG-konform und gerichtsverwertbar.
95    </p>
96
97    <div class="hero-ctas reveal" data-delay="300">
98      <a href="/app-mockup-demo" class="btn btn-primary btn-lg" data-demo-trigger>
99        <span data-i18n="hero.cta1">Live-Demo</span>
100        <span class="demo-play-icon" aria-hidden="true">
101          <svg width="12" height="12" viewBox="0 0 12 12" fill="currentColor">
102            <path d="M4 3.25v5.5L8.75 6 4 3.25Z" />
103          </svg>
104        </span>
105      </a>
106      <a href="#solution" class="btn btn-ghost btn-lg" data-i18n="hero.cta2">So funktioniert es</a>
107    </div>
108
109    <div class="hero-trust reveal" data-delay="400">
110      <div class="hero-trust-item">
111        <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 8l3 3 7-7"/></svg>
112        <span data-i18n="hero.trust1">DSGVO-konform</span>
113      </div>
114      <div class="hero-trust-item">
115        <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 8l3 3 7-7"/></svg>
116        <span data-i18n="hero.trust2">Server in Deutschland</span>
117      </div>
118      <div class="hero-trust-item">
119        <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 8l3 3 7-7"/></svg>
120        <span data-i18n="hero.trust3">ArbSchG-konform</span>
121      </div>
122      <div class="hero-trust-item">
123        <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 8l3 3 7-7"/></svg>
124        <span data-i18n="hero.trust4">In 3 Minuten zur ersten LMRA</span>
125      </div>
126    </div>
127
128    <div class="hero-visual reveal" data-delay="500">
129      <div class="hero-screen-frame">
130        <img
131          id="heroPreviewImage"
132          src="./assets/preview-tablett-cockpit-de.webp"
133          alt="safeOS Dashboard"
134        />
135      </div>
136        <div class="hero-overview-card">
137          <div class="hero-overview-card-head">
138          <svg class="hero-overview-logo" viewBox="0 0 107 135" aria-hidden="true">
139            <path fill="currentColor" d="M53.97,0L0,20.78v49.97c0,17.87,8.62,31.75,19.04,42.25,13.04,13.14,30.21,21.17,34.15,21.17s21.38-10.01,33.69-21.13c12.03-10.87,19.92-22.52,19.92-42.3V20.78L53.97,0h0Z"/>
140          </svg>
141          <span data-i18n="hero.card.title">Heute · Live</span>
142        </div>
143        <div class="hero-stat-row ok">
144          <span class="label" data-i18n="hero.card.row1">Arbeitsfreigaben</span>
145          <span class="val">47</span>
146        </div>
147        <div class="hero-stat-row alert">
148          <span class="label" data-i18n="hero.card.row2">Handlungsbedarf</span>
149          <span class="val">2</span>
150        </div>
151        <div class="hero-stat-row">
152          <span class="label" data-i18n="hero.card.row3">Quote</span>
153          <span class="val">96 %</span>
154        </div>
155      </div>
156    </div>
157  </div>
158</section>
159
160<!-- ─── Risiko-Section ─── -->
161<section class="section" id="problem">
162  <div class="container">
163    <div class="section-header reveal">
164      <div class="section-eyebrow" data-i18n="risk.eyebrow">Das wirkliche Risiko</div>
165      <h2 class="section-title">
166        <span data-i18n-html="risk.title">Was Sie ein Unfall <span class="italic">tatsächlich</span>
166 kostet.</span>
167      </h2>
168      <p class="section-sub" data-i18n="risk.sub">
169        Die meisten Unternehmer unterschätzen die wahren Kosten eines Arbeitsunfalls. Es sind nicht nur die Heilkosten – es ist die Kette aus Ausfall, Bußgeld, Imageschaden und persönlicher Haftung.
170      </p>
171    </div>
172
173    <div class="risk-grid reveal">
174      <!-- TODO Auftraggeber: Faktencheck empfiehlt, 180k nicht als Durchschnitt pro meldepflichtigem Unfall zu führen, sondern nur im Bezug auf schwere Unfälle. -->
175      <button type="button" class="risk-stat" data-risk-open="s1" aria-haspopup="dialog">
176        <div>
177          <div class="risk-stat-num">180k<small data-i18n="risk.s1.unit">€ und mehr bei schweren Arbeitsunfällen</small></div>
178        </div>
179        <div class="risk-stat-label" data-i18n="risk.s1.label">Ein einziger schwerer Unfall kann Heilbehandlung, Ausfall, Ersatzpersonal und Folgekosten schnell in den sechsstelligen Bereich treiben.</div>
180        <div class="risk-stat-source" data-i18n="risk.s1.src">Quelle: DGUV-Geschäftsergebnisse 2024</div>
181      </button>
182      <!-- TODO Auftraggeber: Faktencheck empfiehlt 30.000 € statt 50.000 € als belastbare, sichtbare Kennzahl nach § 25 ArbSchG. -->
183      <button type="button" class="risk-stat" data-risk-open="s2" aria-haspopup="dialog">
184        <div>
185          <div class="risk-stat-num">30k<small data-i18n="risk.s2.unit">€ Bußgeld pro Verstoß möglich</small></div>
186        </div>
187        <div class="risk-stat-label" data-i18n="risk.s2.label">Fehlt die Gefährdungsbeurteilung oder ist sie mangelhaft, kann die Verantwortung persönlich bei der Geschäftsführung liegen.</div>
188        <div class="risk-stat-source" data-i18n="risk.s2.src">§ 25 ArbSchG, § 9 OWiG</div>
189      </button>
190      <!-- TODO Auftraggeber: Faktencheck empfiehlt, 5 Jahre eindeutig an § 222 StGB zu knüpfen und § 229 StGB separat als bis zu 3 Jahre auszuweisen. -->
191      <button type="button" class="risk-stat" data-risk-open="s3" aria-haspopup="dialog">
192        <div>
193          <div class="risk-stat-num">5y<small data-i18n="risk.s3.unit">Freiheitsstrafe bei fahrlässiger Tötung</small></div>
194        </div>
195        <div class="risk-stat-label" data-i18n="risk.s3.label">Schon Fahrlässigkeit kann strafrechtliche Folgen haben; bei Körperverletzung drohen bis zu 3 Jahre oder Geldstrafe.</div>
196        <div class="risk-stat-source" data-i18n="risk.s3.src">§§ 222, 229 StGB</div>
197      </button>
198      <!-- TODO Auftraggeber: Faktencheck empfiehlt statt eines festen Werts die belastbare Formulierung „je nach Berufsgenossenschaft 10–30 %“ bzw. „bis zu 30 %“. -->
199      <button type="button" class="risk-stat" data-risk-open="s4" aria-haspopup="dialog">
200        <div>
201          <div class="risk-stat-num">+30%<small data-i18n="risk.s4.unit">höherer BG-Beitrag je nach BG möglich</small></div>
202        </div>
203        <div class="risk-stat-label" data-i18n="risk.s4.label">Je nach Berufsgenossenschaft können Beitragszuschläge von 10 % bis 30 % über Jahre nachwirken.</div>
204        <div class="risk-stat-source" data-i18n="risk.s4.src">§ 162 SGB VII, BG-Satzung</div>
205      </button>
206    </div>
207  </div>
208</section>
209
210<!-- ─── Solution Section ─── -->
211<section class="section" id="solution" style="border-top: 1px solid var(--line);">
212  <div class="container">
213    <div class="section-header reveal">
214      <div class="section-eyebrow" data-i18n="sol.eyebrow">Die Lösung</div>
215      <h2 class="section-title">
216        <span data-i18n-html="sol.title">In drei Schritten zur <span class="italic">lückenlosen</span> Absicherung.</span>
217      </h2>
218      <p class="section-sub" data-i18n="sol.sub">
219        safeOS ist eine Cloud-Plattform für Last Minute Risk Analysis (LMRA). Vor jeder Tätigkeit – oder beim Tätigkeitswechsel – durchlaufen Ihre Mitarbeitenden einen kurzen, situativen Risiko-Check. Das System dokumentiert jede Entscheidung gerichtsverwertbar.
220      </p>
221    </div>
222
223    <div class="steps-wrap">
224      <div class="step reveal">
225        <div class="step-num">01</div>
226        <div class="step-img">
227          <img src="/assets/safeos_info-step01-sm_de.webp" alt="" />
228        </div>
229        <h3 class="step-title" data-i18n="sol.step1.title">Konto einrichten</h3>
230        <p class="step-body" data-i18n="sol.step1.body">Registrierung auf safeOS.de. Anlegen Ihrer Standorte, Teams und tätigkeitsspezifischen Fragenkataloge – ohne IT-Aufwand.</p>
231      </div>
232      <div class="step reveal" data-delay="100">
233        <div class="step-num">02</div>
234        <div class="step-img">
235          <img src="/assets/safeos_info-step02-sm_de.webp" alt="" />
236        </div>
237        <h3 class="step-title" data-i18n="sol.step2.title">App ausrollen</h3>
238        <p class="step-body" data-i18n="sol.step2.body">Mitarbeitende installieren die safeOS-App in unter einer Minute aus App Store oder Google Play. Mehrsprachig und intuitiv – auch ohne Schulung.</p>
239      </div>
240      <div class="step reveal" data-delay="200">
241        <div class="step-num">03</div>
242        <div class="step-img">
243          <img src="/assets/safeos_info-step03-sm_de.webp" alt="" />
244        </div>
245        <h3 class="step-title" data-i18n="sol.step3.title">Sicherheit dokumentieren</h3>
246        <p class="step-body" data-i18n="sol.step3.body">Vor Arbeitsbeginn: kurzer LMRA. Bei Risiko: keine Freigabe. Bei Freigabe: revisionssichere Speicherung mit Zeitstempel und Geolokation.</p>
247      </div>
248    </div>
249    <div class="hero-ctas reveal" style="justify-content: center; margin-top: 28px; margin-bottom: 0;">
250      <a href="https://portal.safeos.de/register" class="btn btn-accent btn-lg" target="_blank" rel="noopener noreferrer">
251        <span data-i18n="feat.cta">jetzt Registrieren</span>
252      </a>
253    </div>
254  </div>
255</section>
256
257<!-- ─── Feature Rows ─── -->
258<section class="section" style="border-top: 1px solid var(--line);">
259  <div class="container">
260    <div class="section-header reveal" style="text-align: center; margin: 0 auto clamp(40px, 6vw, 80px); max-width: 760px;">
261      <div class="section-eyebrow" style="text-align: center; border-bottom-color: var(--line); display: inline-block; width: auto; padding: 0 28px 24px;" data-i18n="feat.eyebrow">Funktionen</div>
262      <h2 class="section-title" style="margin: 0 auto; text-align: center;">
263        <span data-i18n-html="feat.title">Operational <span class="italic">Excellence</span>. <span class="accent">Rechtlich abgesichert.</span></span>
264      </h2>
265    </div>
266
267    <div class="feature-row reveal">
268      <div class="feature-text">
269        <div class="feature-tag" data-i18n="feat.f1.tag">LMRA Engine</div>
270        <h3 class="feature-title">
271          <span data-i18n-html="feat.f1.title">Risiken erkennen, <span class="italic">bevor</span> sie zur Gefahr werden.</span>
272        </h3>
273        <p class="feature-body" data-i18n="feat.f1.body">
274          Die Stärke von safeOS liegt in der situativen Frage-Logik. Jede Frage kann ausschließlich mit "Ja" oder "Nein" beantwortet werden – je nach Kontext führt die jeweils risikohafte Antwort zur Sperrung der Arbeitsfreigabe.
275        </p>
276        <ul class="feature-list">
277          <li>
278            <svg viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l4 4 8-8"/></svg>
279            <div>
280              <strong data-i18n="feat.f1.li1.t">250+ vordefinierte Fragen</strong>
281              <span data-i18n="feat.f1.li1.b">Für die häufigsten Tätigkeiten in Bau, Logistik, Handwerk, Industrie und Gastronomie.</span>
282            </div>
283          </li>
284          <li>
285            <svg viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l4 4 8-8"/></svg>
286            <div>
287              <strong data-i18n="feat.f1.li2.t">Eigene Fragenkataloge</strong>
288              <span data-i18n="feat.f1.li2.b">Erstellen Sie individuelle Kataloge pro Tätigkeit, Standort oder Schichtmodell – ohne Code.</sp
288an>
289            </div>
290          </li>
291          <li>
292            <svg viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l4 4 8-8"/></svg>
293            <div>
294              <strong data-i18n="feat.f1.li3.t">Automatische Sperrung</strong>
295              <span data-i18n="feat.f1.li3.b">Bei kritischer Antwort: keine Freigabe. Handlungsempfehlung erscheint. Vorgesetzte werden alarmiert.</span>
296            </div>
297          </li>
298        </ul>
299      </div>
300      <div class="feature-visual">
301        <div class="feature-img-frame">
302          <div class="feature-badge">
303            <span class="dot"></span>
304            <span data-i18n="feat.f1.badge">Live · LMRA aktiv</span>
305          </div>
306          <img src="./assets/safeos_screen-img01-de.webp" alt="LMRA Interface" />
307        </div>
308      </div>
309    </div>
310
311    <div class="feature-row reverse reveal">
312      <div class="feature-text">
313        <div class="feature-tag" data-i18n="feat.f2.tag">Auswertung & Reporting</div>
314        <h3 class="feature-title">
315          <span data-i18n-html="feat.f2.title">Daten, die zu <span class="italic">Entscheidungen</span> werden.</span>
316        </h3>
317        <p class="feature-body" data-i18n="feat.f2.body">
318          Statt Excel-Wirrwarr: ein zentrales Dashboard mit Heat-Maps, Trends und Frühwarnindikatoren. Sie sehen auf einen Blick, wo Schulungsbedarf besteht, welche Tätigkeiten kritisch sind und ob Schutzmaßnahmen wirken.
319        </p>
320        <ul class="feature-list">
321          <li>
322            <svg viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l4 4 8-8"/></svg>
323            <div>
324              <strong data-i18n="feat.f2.li1.t">Echtzeit-Dashboard</strong>
325              <span data-i18n="feat.f2.li1.b">Pro Standort, Team und Tätigkeit. Mobil und am Desktop. Mit Drill-Down auf den Einzelvorgang.</span>
326            </div>
327          </li>
328          <li>
329            <svg viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l4 4 8-8"/></svg>
330            <div>
331              <strong data-i18n="feat.f2.li2.t">Audit-fähige Exporte</strong>
332              <span data-i18n="feat.f2.li2.b">PDF- und CSV-Exporte für BG, Aufsichtsbehörde oder im Streitfall – inklusive Audit-Trail.</span>
333            </div>
334          </li>
335          <li>
336            <svg viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l4 4 8-8"/></svg>
337            <div>
338              <strong data-i18n="feat.f2.li3.t">Anomalie-Erkennung</strong>
339              <span data-i18n="feat.f2.li3.b">Auffällige Mitarbeitende oder Tätigkeitsmuster werden automatisch identifiziert.</span>
340            </div>
341          </li>
342        </ul>
343      </div>
344      <div class="feature-visual">
345        <div class="feature-img-frame">
346          <div class="feature-badge">
347            <span class="dot"></span>
348            <span data-i18n="feat.f2.badge">Reporting · Q1 2026</span>
349          </div>
350          <img src="./assets/safeos_screen-img02-de.webp" alt="Dashboard" />
351        </div>
352      </div>
353    </div>
354  </div>
355</section>
356
357<!-- ─── Legal / Compliance ─── -->
358<section class="section legal-section" id="legal">
359  <div class="container">
360    <div class="section-header reveal">
361      <div class="section-eyebrow" data-i18n="legal.eyebrow">Rechtssicherheit</div>
362      <h2 class="section-title">
363        <span data-i18n-html="legal.title">Gerichtsverwertbare <span class="italic">Dokumentation</span>. Vom ersten Tag an.</span>
364      </h2>
365    </div>
366
367    <div class="legal-grid">
368      <div class="reveal">
369        <blockquote class="legal-quote">
370          <span data-i18n-html="legal.quote">Der Arbeitgeber hat durch eine Beurteilung der für die Beschäftigten mit ihrer Arbeit verbundenen Gefährdung zu ermitteln, welche Maßnahmen <em>erforderlich</em> sind.</span>
371        </blockquote>
372        <cite class="legal-quote-cite" data-i18n="legal.quoteCite">§ 5 Arbeitsschutzgesetz (ArbSchG)</cite>
373      </div>
374
375      <ul class="legal-points reveal" data-delay="200">
376        <li>
377          <span class="num">01</span>
378          <div>
379            <strong data-i18n="legal.p1.t">Pflicht zur Gefährdungsbeurteilung</strong>
380            <span data-i18n="legal.p1.b">safeOS bringt die Risikobeurteilung dorthin, wo sie zählt: an den Arbeitsplatz, unmittelbar vor Arbeitsbeginn. Jede Beurteilung wird mit Zeitstempel, Standort und Mitarbeitenden-ID revisionssicher dokumentiert.</span>
381          </div>
382        </li>
383        <li>
384          <span class="num">02</span>
385          <div>
386            <strong data-i18n="legal.p2.t">Dokumentationspflicht (§ 6 ArbSchG)</strong>
387            <span data-i18n="legal.p2.b">Lückenlose, revisionssichere Aufzeichnung – jederzeit als PDF-Export für BG oder Aufsicht abrufbar.</span>
388          </div>
389        </li>
390        <li>
391          <span class="num">03</span>
392          <div>
393            <strong data-i18n="legal.p3.t">Unterweisungspflicht (§ 12 ArbSchG)</strong>
394            <span data-i18n="legal.p3.b">Mit jeder LMRA bestätigen Ihre Mitarbeitenden tätigkeitsbezogene Sicherheitsregeln – bei kritischen Antworten erklärt safeOS die richtige Vorgehensweise sofort. Inklusive lückenlosem Nachweis der Kenntnisnahme.</span>
395          </div>
396        </li>
397        <li>
398          <span class="num">04</span>
399          <div>
400            <strong data-i18n="legal.p4.t">DSGVO-konform (Art. 5, 32)</strong>
401            <span data-i18n="legal.p4.b">Serverstandort Deutschland. Verschlüsselung in Ruhe und im Transit. Auftragsverarbeitungsvertrag inklusive.</span>
402          </div>
403        </li>
404        <li>
405          <span class="num">05</span>
406          <div>
407            <strong data-i18n="legal.p5.t">Entlastung der Geschäftsführung</strong>
408            <span data-i18n="legal.p5.b">Im Streitfall belegen Sie systematische Sorgfalt – ein wesentlicher Faktor zur Vermeidung persönlicher Haftung.</span>
409          </div>
410        </li>
411      </ul>
412    </div>
413  </div>
414</section>
415
416<!-- ─── Callout Stat ─── -->
417<section class="callout-stat reveal">
418  <div class="container">
419    <div class="callout-eyebrow" data-i18n="callout.eyebrow">Praxisbeleg</div>
420    <!-- Wert −75 % = belegt (ESG 8→2). Alternativ −70 % konservativ. Entscheidung Auftraggeber. -->
421    <div class="callout-num">−75%</div>
422    <p class="callout-text">
423      <span data-i18n-html="callout.text">Arbeitsunfälle bei der <span class='accent callout-company'>ESG Energy Service Group GmbH</span><br>nach Einführung von safeOS.</span>
424    </p>
425    <div class="callout-detail" data-i18n="callout.detail">2020 bis 2024: von 8 auf 2 meldepflichtige Unfälle pro Jahr</div>
426    <div class="callout-source" data-i18n-html="callout.source">Quelle: <a href="https://digibib.hs-nb.de/resolve/id/dbhsnb_thesis_0000003269?_search=c9d218fe-60eb-4722-9eac-6f576b9a8cf4&amp;_hit=0" target="_blank" rel="noopener noreferrer">Fallstudie zur ESG Energy Service Group GmbH, tätig im Bereich Windenergie-Service, Bachelorthesis Hochschule Neubrandenburg 2025 (link).</a></div>
427  </div>
428</section>
429
430<!-- ─── FAQ ─── -->
431<section class="section" id="faq">
432  <div class="container">
433    <div class="faq-grid">
434      <div class="reveal">
435        <div class="section-eyebrow" data-i18n="faq.eyebrow">Häufige Fragen</div>
436        <h2 class="section-title">
437          <span data-i18n-html="faq.title">Antworten für <span class="italic">Entscheider</span>.</span>
438        </h2>
439        <p class="section-sub" data-i18n="faq.sub">
440          Sie haben spezifische Fragen zu Integration, Datenschutz oder Skalierung? Wir antworten innerhalb eines Werktags.
441        </p>
442      </div>
443
444      <div class="faq-list reveal" data-delay="200">
445        <div class="faq-item">
446          <button class="faq-q">
447            <span data-i18n="faq.q1.q">Welchen rechtlichen Nutzen hat safeOS konkret im Streitfall?</span>
448            <span class="faq-q-icon"><svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2v8M2 6h8"/></svg></span>
449          </button>
450          <div class="faq-a" data-i18n="faq.q1.a">
451            safeOS erstellt für jede LMRA einen unveränderlichen Datensatz mit Zeitstempel, Standort, Mitarbeitenden-ID und sämtlichen Antworten. Im Falle einer behördlichen Prüfung oder eines Gerichtsverfahrens dient dieser Nachweis als Beleg systematischer Sorgfalt bei Gefährdungsbeurteilung, Dokumentation und Unterweisung gemäß §§ 5, 6, 12 ArbSchG.
452          </div>
453        </div>
454        <div class="faq-item">
455          <button class="faq-q">
456            <span data-i18n="faq.q2.q">Wie hoch ist der Implementierungsaufwand?</span>
457            <span class="faq-q-icon"><svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2v8M2 6h8"/></svg></span>
458          </button>
459          <div class="faq-a" data-i18n="faq.q2.a">
460            Minimal. Nach der Registrierung importieren Sie Standorte und Teams (CSV oder API). Die App lädt jeder Mitarbeitende selbst aus dem App Store oder Google Play. Erste produktive LMRAs sind im Schnitt nach 3 Minuten möglich. Eine SiFa-Begleitung bei der Katalog-Erstellung bieten wir optional an.
461          </div>
462        </div>
463        <div class="faq-item">
464          <button class="faq-q">
465            <span data-i18n="faq.q3.q">Was passiert mit den Daten? Wo werden sie verarbeitet?</span>
466            <span class="faq-q-icon"><svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2v8M2 6h8"/></svg></span>
467          </button>
468          <div class="faq-a" data-i18n="faq.q3.a">
469            Alle Daten werden ausschließlich in Rechenzentren in Deutschland verarbeitet (ISO 27001-zertifiziert). Wir verschlüsseln im Transit (TLS 1.3) und at-rest (AES-256). Sie erhalten einen DSGVO-konformen Auftragsverarbeitungsvertrag (AVV). Daten gehören Ihnen – Export jederzeit möglich.
470          </div>
471        </div>
472        <div class="faq-item">
473          <button class="faq-q">
474            <span data-i18n="faq.q4.q">Lässt sich safeOS in unsere bestehenden Systeme integrieren?</span>
475            <span class="faq-q-icon"><svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2v8M2 6h8"/></svg></span>
476          </button>
477          <div class="faq-a" data-i18n="faq.q4.a">
478            Ja. Wir bieten eine REST-API für Anbindung an HR-Systeme, ERP oder Sicherheitsmanagement-Software. Single-Sign-On (SSO) via SAML/OIDC ist verfügbar. Standard-Konnektoren für gängige Systeme entwickeln wir kontinuierlich weiter.
479          </div>
480        </div>
481        <div class="faq-item">
482          <button class="faq-q">
483            <span data-i18n="faq.q5.q">Was kostet safeOS?</span>
484            <span class="faq-q-icon"><svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2v8M2 6h8"/></svg></span>
485          </button>
486          <div class="faq-a">
487            <div class="faq-price-copy">
488              <p data-i18n="faq.q5.teaser">safeOS bietet vier transparente Preispläne von Basic bis Enterprise. Die monatliche Grundgebühr startet bei 69,– € und wächst je nach gewünschtem Funktionsumfang, Standortanzahl und Teamgröße.</p>
489              <button type="button" class="btn btn-accent" data-pricing-open data-i18n="pricing.open">Preispläne ansehen</button>
490            </div>
491          </div>
492        </div>
493        <div class="faq-item">
494          <button class="faq-q">
495            <span data-i18n="faq.q6.q">Funktioniert die App auch ohne stabile Internet-Verbindung?</span>
496            <span class="faq-q-icon"><svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 2v8M2 6h8"/></svg></span>
497          </button>
498          <div class="faq-a" data-i18n="faq.q6.a">
499            Ja. safeOS arbeitet offline-fähig. LMRAs lassen sich auch ohne Verbindung durchführen; die Synchronisation erfolgt automatisch, sobald die Verbindung wiederhergestellt ist. Ideal für Baustellen, abgelegene Standorte oder Tunnel-Arbeit.
500          </div>
501        </div>
502      </div>
503    </div>
504  </div>
505</section>
506
507<!-- ─── Final CTA ─── -->
508<section class="final-cta" id="cta">
509  <div class="container">
510    <div class="reveal">
511      <div class="final-cta-eyebrow" data-i18n="cta.eyebrow">Bereit zum Start</div>
512      <h2 class="final-cta-title">
513        <span data-i18n-html="cta.title">Machen Sie Sicherheit zum <span class="italic">Standard</span>. Nicht zum <span class="accent">Zufall</span>.</span>
514      </h2>
515      <p class="final-cta-sub" data-i18n="cta.sub">
516        Vereinbaren Sie eine 20-minütige Online-Demo. Wir zeigen Ihnen anhand Ihrer eigenen Tätigkeiten, wie safeOS Ihr Unternehmen rechtlich absichert – ohne Vertragsbindung, ohne Verkaufsdruck.
517      </p>
518      <div class="final-cta-buttons">
519        <a href="https://portal.safeos.de/register" class="btn btn-accent btn-lg" target="_blank" rel="noopener noreferrer">
520          <span data-i18n="cta.btn1">jetzt Registrieren</span>
521        </a>
522        <a href="https://apps.apple.com/de/app/safeos/id6743313294" class="store-badge">
523          <svg viewBox="0 0 24 24" fill="currentColor"><path d="M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09l.01-.01zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z"/></svg>
524          <div class="store-text">
525            <small data-i18n="cta.appstore.s">Verfügbar im</small>
526            <span data-i18n="cta.appstore.b">App Store</span>
527          </div>
528        </a>
529        <a href="https://play.google.com/store/apps/details?id=com.safeos.app" class="store-badge">
530          <svg viewBox="0 0 24 24" fill="currentColor"><path d="M3.18 20.83c.32.36.83.55 1.34.5.32-.03.63-.13.92-.3l11.04-6.37-2.93-2.93L3.18 20.83zm-.18-.7c-.05-.16-.08-.32-.08-.49V3.66c0-.17.03-.33.08-.49l9.5 9.49-9.5 9.27zM21.43 11l-2.66-1.54L15.4 12l3.36 2.54L21.43 13c.78-.45.78-1.55 0-2zM4.52 2.62c-.51-.06-1.02.14-1.34.5l10.37 10.37 2.93-2.93L5.44 2.92c-.29-.17-.6-.27-.92-.3z"/></svg>
531          <div class="store-text">
532            <small data-i18n="cta.playstore.s">Erhältlich bei</small>
533            <span data-i18n="cta.playstore.b">Google Play</span>
534          </div>
535        </a>
536      </div>
537    </div>
538  </div>
539</section>
540
541<!-- ─── Contact ─── -->
542<section class="section contact-section" id="contact">
543  <div class="container">
544    <div class="contact-grid">
545      <div class="contact-copy reveal">
546        <div class="contact-kicker" data-i18n="contact.eyebrow">Kontakt</div>
547        <h2 class="contact-title">
548          <span data-i18n-html="contact.title">Schreiben Sie uns direkt. <span class="accent">Wir melden uns zeitnah.</span></span>
549        </h2>
550        <p class="contact-sub" data-i18n="contact.sub">
551          Wenn Sie Fragen zu Demo, Einführung, Datenschutz oder Partner-Modellen haben, schicken Sie uns einfach eine Nachricht. Ihr Anliegen landet direkt bei safeOS.
552        </p>
553        <ul class="contact-points">
554          <li data-i18n="contact.point1">Antwort in der Regel innerhalb eines Werktags</li>
555          <li data-i18n="contact.point2">Geeignet für Demo-Anfragen, Rückrufe und Partnergespräche</li>
556          <li data-i18n="contact.point3">Direkter Versand an [email protected]</li>
557        </ul>
558        <div class="contact-direct">
559          <span data-i18n="contact.directLabel">Oder direkt per E-Mail:</span>
560          <a href="mailto:[email protected]">[email protected]</a>
561        </div>
562      </div>
563
564      <div class="contact-form-card reveal" data-delay="150">
565        <form class="contact-form" id="contactForm" action="./contact.php" method="post" novalidate>
566          <div class="contact-form-grid">
567            <div class="form-field">
568              <label class="form-label" for="contactName" data-i18n="contact.name">Name</label>
569              <input class="form-input" id="contactName" name="name" type="text" autocomplete="name" required />
570            </div>
571            <div class="form-field">
572              <label class="form-label" for="contactCompany" data-i18n="contact.company">Unternehmen</label>
573              <input class="form-input" id="contactCompany" name="company" type="text" autocomplete="organization" />
574            </div>
575            <div class="form-field">
576              <label class="form-label" for="contactEmail" data-i18n="contact.email">E-Mail</label>
577              <input class="form-input" id="contactEmail" name="email" type="email" autocomplete="email" required />
578            </div>
579            <div class="form-field">
580              <label class="form-label" for="contactPhone" data-i18n="contact.phone">Telefon</label>
581              <input class="form-input" id="contactPhone" name="phone" type="tel" autocomplete="tel" />
582            </div>
583            <div class="form-field form-field-full">
584              <label class="form-label" for="contactMessage" data-i18n="contact.message">Nachricht</label>
585              <textarea class="form-textarea" id="contactMessage" name="message" required></textarea>
586            </div>
587          </div>
588
589          <div class="hp-field" aria-hidden="true">
590            <label for="contactWebsite">Website</label>
591            <input id="contactWebsite" name="website" type="text" tabindex="-1" autocomplete="off" />
592          </div>
593
594          <div class="form-help" data-i18n="contact.help">
595            Mit dem Absenden stimmen Sie zu, dass wir Ihre Angaben zur Bearbeitung Ihrer Anfrage verwenden.
596          </div>
597
598          <div class="form-actions">
599            <button class="btn btn-accent btn-lg" type="submit" id="contactSubmit" data-i18n="contact.submit">Nachricht senden</button>
600            <p class="form-status" id="contactStatus" aria-live="polite"></p>
601          </div>
602        </form>
603      </div>
604    </div>
605  </div>
606</section>
607
608<!-- ─── Footer ─── -->
609<footer class="footer">
610  <div class="container">
611    <div class="footer-top">
612      <div>
613        <div class="footer-brand">
614          <img src="./assets/safeos_logo-komplett_white-de.svg" alt="safeOS" />
615        </div>
616        <p class="footer-desc" data-i18n="footer.desc">Die SaaS-Plattform für rechtssichere Arbeitssicherheit. Last Minute Risk Analysis für Unternehmen jeder Größe.</p>
617      </div>
618      <div class="footer-col">
619        <div class="footer-col-title" data-i18n="footer.product">Produkt</div>
620        <ul>
621          <li><a href="#solution" data-i18n="footer.howto">Funktionsweise</a></li>
622          <li><a href="#legal" data-i18n="footer.legal">Rechtssicherheit</a></li>
623          <li><a href="#faq" data-i18n="footer.faq">FAQ</a></li>
624          <li><a href="https://safeos.de/installieren/" data-i18n="footer.install">Installieren</a></li>
625        </ul>
626      </div>
627      <div class="footer-col">
628        <div class="footer-col-title" data-i18n="footer.company">Unternehmen</div>
629        <ul>
630          <li><a href="mailto:[email protected]" data-i18n="footer.demo">Demo anfragen</a></li>
631          <li><a href="#contact" data-i18n="footer.contact">Kontakt</a></li>
632          <li><a href="./partner" data-i18n="footer.partner">Partner werden</a></li>
633        </ul>
634      </div>
635      <div class="footer-col">
636        <div class="footer-col-title" data-i18n="footer.legalCol">Rechtliches</div>
637        <ul>
638          <li><a href="./impressum" data-i18n="footer.imprint">Impressum</a></li>
639          <li><a href="./datenschutz" data-i18n="footer.privacy">Datenschutz</a></li>
640        </ul>
641      </div>
642    </div>
643    <div class="footer-bottom">
644      <div data-i18n="footer.copy">© 2026 safeOS · Last Minute Risk Analysis</div>
645      <div data-i18n="footer.made">Made in Germany · Hosted in Germany</div>
646    </div>
647  </div>
648</footer>
649
650<div class="demo-modal" id="demoModal" aria-hidden="true">
651  <div class="demo-modal-backdrop modal-backdrop" data-demo-close></div>
652  <div class="demo-modal-dialog" role="dialog" aria-modal="true" aria-label="Demo">
653    <button type="button" class="demo-modal-close modal-close" data-demo-close aria-label="Close demo">
654      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
655        <path d="M6 6l12 12M18 6L6 18" />
656      </svg>
657    </button>
658    <div class="demo-modal-frame-wrap">
659      <iframe
660        class="demo-modal-frame"
661        id="demoModalFrame"
662        title="safeOS Demo"
663        loading="lazy"
664        allow="clipboard-write; fullscreen"
665        referrerpolicy="strict-origin-when-cross-origin"
666      ></iframe>
667    </div>
668  </div>
669</div>
670
671<div class="pricing-modal modal-shell" id="pricingModal" aria-hidden="true">
672  <div class="modal-backdrop" data-pricing-close></div>
673  <div class="pricing-modal-dialog" role="dialog" aria-modal="true" aria-labelledby="pricingModalTitle">
674    <button type="button" class="modal-close" data-pricing-close aria-label="Preise schließen">
675      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
676        <path d="M6 6l12 12M18 6L6 18" />
677      </svg>
678    </button>
679    <div class="pricing-modal-content">
680      <div class="pricing-modal-head">
681        <div>
682          <div class="pricing-modal-kicker" data-i18n="pricing.kicker">Preispläne</div>
683          <h2 class="pricing-modal-title" id="pricingModalTitle" data-i18n="pricing.title">Der passende Plan für jedes Team.</h2>
684          <p class="pricing-modal-sub" data-i18n="pricing.sub">Alle Pläne enthalten die safeOS LMRA-Basis. Je nach Unternehmensgröße, Anzahl der Arbeitsorte und gewünschter Steuerung wählen Sie zwischen einem schlanken Einstieg und voller API-Integration.</p>
685        </div>
686      </div>
687
688      <div class="pricing-grid">
689        <article class="pricing-card">
690          <div>
691            <div class="pricing-plan-name">Basic</div>
692            <p class="pricing-plan-desc" data-i18n="pricing.basic.desc">Für kleine Teams.</p>
693          </div>
694          <div>
695            <div class="pricing-price"><strong>69,–</strong><span>€ / Monat</span></div>
696            <p class="pricing-variable" data-i18n="pricing.basic.variable">
696Keine Nutzungsgebühr</p>
697          </div>
698          <div class="pricing-meta" data-i18n="pricing.basic.meta">Bis 5 Mitarbeitende und 1 Arbeitsort.</div>
699          <ul class="pricing-features">
700            <li data-i18n="pricing.basic.f1">1 Standard-Fragenkatalog</li>
701            <li data-i18n="pricing.basic.f2">LMRA und Cockpit-Basis</li>
702            <li data-i18n="pricing.basic.f3">Schneller Einstieg ohne Zusatzkomplexität</li>
703          </ul>
704          <div class="pricing-actions">
705            <a class="btn btn-primary" href="https://portal.safeos.de/register" target="_blank" rel="noopener noreferrer" data-i18n="pricing.register">Registrieren</a>
706            <span class="pricing-note" data-i18n="pricing.basic.note">Ideal für erste Standorte oder kompakte Teams.</span>
707          </div>
708        </article>
709
710        <article class="pricing-card">
711          <div>
712            <div class="pricing-plan-name">Basic Plus</div>
713            <p class="pricing-plan-desc" data-i18n="pricing.basicplus.desc">Für wachsende Teams.</p>
714          </div>
715          <div>
716            <div class="pricing-price"><strong>129,–</strong><span>€ / Monat</span></div>
717            <p class="pricing-variable" data-i18n="pricing.basicplus.variable">+ 0,20 € / Mitarbeitendem und aktivem Tag</p>
718          </div>
719          <div class="pricing-meta" data-i18n="pricing.basicplus.meta">Bis 25 Mitarbeitende und bis zu 5 Arbeitsorte.</div>
720          <ul class="pricing-features">
721            <li data-i18n="pricing.basicplus.f1">Bis 5 Kataloge mit Fragen-Editor</li>
722            <li data-i18n="pricing.basicplus.f2">Externe Betreuungs-Funktion</li>
723            <li data-i18n="pricing.basicplus.f3">LMRA und vollständiges Cockpit</li>
724          </ul>
725          <div class="pricing-actions">
726            <a class="btn btn-primary" href="https://portal.safeos.de/register" target="_blank" rel="noopener noreferrer" data-i18n="pricing.register">Registrieren</a>
727            <span class="pricing-note" data-i18n="pricing.basicplus.note">Geeignet für Teams mit mehreren Bereichen oder Standorten.</span>
728          </div>
729        </article>
730
731        <article class="pricing-card featured">
732          <span class="pricing-card-badge" data-i18n="pricing.recommended">Empfohlen</span>
733          <div>
734            <div class="pricing-plan-name">Professional</div>
735            <p class="pricing-plan-desc" data-i18n="pricing.pro.desc">Für skalierende Organisationen mit erweitertem Steuerungsbedarf.</p>
736          </div>
737          <div>
738            <div class="pricing-price"><strong>299,–</strong><span>€ / Monat</span></div>
739            <p class="pricing-variable" data-i18n="pricing.pro.variable">+ 0,30 € / Mitarbeitendem und aktivem Tag</p>
740          </div>
741          <div class="pricing-meta" data-i18n="pricing.pro.meta">Unbegrenzte Mitarbeitende, bis 10 Arbeitsorte und 50 Arbeitsgegenstände.</div>
742          <ul class="pricing-features">
743            <li data-i18n="pricing.pro.f1">Bis 10 Kataloge mit Fragen-Editor und KI-Unterstützung</li>
744            <li data-i18n="pricing.pro.f2">Erweitertes Cockpit mit Handlungsbedarf</li>
745            <li data-i18n="pricing.pro.f3">Excel-Export für Analysen und externe Betreuung</li>
746          </ul>
747          <div class="pricing-actions">
748            <a class="btn btn-accent" href="https://portal.safeos.de/register" target="_blank" rel="noopener noreferrer" data-i18n="pricing.register">Registrieren</a>
749            <span class="pricing-note" data-i18n="pricing.pro.note">Die stärkste Balance aus Skalierung, Transparenz und Tempo.</span>
750          </div>
751        </article>
752
753        <article class="pricing-card">
754          <div>
755            <div class="pricing-plan-name">Enterprise</div>
756            <p class="pricing-plan-desc" data-i18n="pricing.enterprise.desc">Für maximale Skalierung und Kontrolle.</p>
757          </div>
758          <div>
759            <div class="pricing-price"><strong>599,–</strong><span>€ / Monat</span></div>
760            <p class="pricing-variable" data-i18n="pricing.enterprise.variable">+ 0,40 € / Mitarbeitendem und aktivem Tag</p>
761          </div>
762          <div class="pricing-meta" data-i18n="pricing.enterprise.meta">Unbegrenzte Arbeitsorte, Arbeitsgegenstände, Kataloge und Rollen.</div>
763          <ul class="pricing-features">
764            <li data-i18n="pricing.enterprise.f1">Individuelle Sicherheitskampagnen und Mitarbeitergruppen</li>
765            <li data-i18n="pricing.enterprise.f2">Dynamisches Rollenmanagement</li>
766            <li data-i18n="pricing.enterprise.f3">Volle API-Integration und Excel-Export</li>
767          </ul>
768          <div class="pricing-actions">
769            <a class="btn btn-primary" href="https://portal.safeos.de/register" target="_blank" rel="noopener noreferrer" data-i18n="pricing.register">Registrieren</a>
770            <span class="pricing-note" data-i18n="pricing.enterprise.note">Für Unternehmen mit komplexen Strukturen und Integrationsbedarf.</span>
771          </div>
772        </article>
773      </div>
774    </div>
775  </div>
776</div>
777
778<div class="risk-modal modal-shell" id="riskModal" aria-hidden="true">
779  <div class="modal-backdrop" data-risk-close></div>
780  <div class="risk-modal-dialog" role="dialog" aria-modal="true" aria-labelledby="riskModalTitle">
781    <button type="button" class="modal-close" data-risk-close aria-label="Popup schließen">
782      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
783        <path d="M6 6l12 12M18 6L6 18" />
784      </svg>
785    </button>
786    <div class="risk-modal-content">
787      <div class="pricing-modal-kicker" id="riskModalKicker">Faktencheck</div>
788      <h2 class="pricing-modal-title" id="riskModalTitle">Kennzahl im Kontext</h2>
789      <div class="risk-modal-body" id="riskModalBody"></div>
790    </div>
791  </div>
792</div>
793
794<a href="https://portal.safeos.de/register" class="mobile-register-cta btn btn-accent btn-lg" id="mobileRegisterCta" target="_blank" rel="noopener noreferrer">
795  <span data-i18n="nav.register">Registrieren</span>
796</a>
797
798<script>
799/* ────────────────────────────────────────────────────────────────
800   Translations
801   ──────────────────────────────────────────────────────────────── */
802const I18N = {
803  de: {
804    "nav.problem": "Risiko",
805    "nav.solution": "Lösung",
806    "nav.legal": "Rechtssicherheit",
807    "nav.pricing": "Preise",
808    "nav.register": "Registrieren",
809    "nav.login": "Login",
810    "nav.faq": "FAQ",
811    "nav.cta": "Live-Demo",
812    "hero.eyebrow": "Last Minute Risk Analysis",
813    "hero.title": "Ein einziger Unfall<br/>kostet mehr<br/>als <span class='italic'>jahrelange</span> <span class='accent'>Prävention</span>.",
814    "hero.sub": "safeOS ist die Arbeitssicherheitsplattform, die Ihr Unternehmen rechtlich absichert. Mitarbeitende beantworten vor Arbeitsbeginn risikobezogene Ja/Nein-Fragen – Sie erhalten lückenlose Dokumentation, ArbSchG-konform und gerichtsverwertbar.",
815    "hero.cta1": "Live-Demo",
816    "hero.cta2": "So funktioniert es",
817    "hero.trust1": "DSGVO-konform",
818    "hero.trust2": "Server in Deutschland",
819    "hero.trust3": "ArbSchG-konform",
820    "hero.trust4": "In 3 Minuten zur ersten LMRA",
821    "hero.card.title": "Heute · Live",
822    "hero.card.row1": "Arbeitsfreigaben",
823    "hero.card.row2": "Handlungsbedarf",
824    "hero.card.row3": "Quote",
825
826    "risk.eyebrow": "Das wirkliche Risiko",
827    "risk.title": "Was Sie ein Unfall <span class='italic'>tatsächlich</span> kostet.",
828    "risk.sub": "Die meisten Unternehmer unterschätzen die wahren Kosten eines Arbeitsunfalls. Es sind nicht nur die Heilkosten – es ist die Kette aus Ausfall, Bußgeld, Imageschaden und persönlicher Haftung.",
829    "risk.s1.unit": "€ und mehr bei schweren Arbeitsunfällen",
830    "risk.s1.label": "Ein einziger schwerer Unfall kann Heilbehandlung, Ausfall, Ersatzpersonal und Folgekosten schnell in den sechsstelligen Bereich treiben.",
831    "risk.s1.src": "Quelle: DGUV-Geschäftsergebnisse 2024",
832    "risk.s2.unit": "€ Bußgeld pro Verstoß möglich",
833    "risk.s2.label": "Fehlt die Gefährdungsbeurteilung oder ist sie mangelhaft, kann die Verantwortung persönlich bei der Geschäftsführung liegen.",
834    "risk.s2.src": "§ 25 ArbSchG, § 9 OWiG",
835    "risk.s3.unit": "Freiheitsstrafe bei fahrlässiger Tötung",
836    "risk.s3.label": "Schon Fahrlässigkeit kann strafrechtliche Folgen haben; bei Körperverletzung drohen bis zu 3 Jahre oder Geldstrafe.",
837    "risk.s3.src": "§§ 222, 229 StGB",
838    "risk.s4.unit": "höherer BG-Beitrag je nach BG möglich",
839    "risk.s4.label": "Je nach Berufsgenossenschaft können Beitragszuschläge von 10 % bis 30 % über Jahre nachwirken.",
840    "risk.s4.src": "§ 162 SGB VII, BG-Satzung",
841
842    "sol.eyebrow": "Die Lösung",
843    "sol.title": "In drei Schritten zur <span class='italic'>lückenlosen</span> Absicherung.",
844    "sol.sub": "safeOS ist eine Cloud-Plattform für Last Minute Risk Analysis (LMRA). Vor jeder Tätigkeit – oder beim Tätigkeitswechsel – durchlaufen Ihre Mitarbeitenden einen kurzen, situativen Risiko-Check. Das System dokumentiert jede Entscheidung gerichtsverwertbar.",
845    "sol.step1.title": "Konto einrichten",
846    "sol.step1.body": "Registrierung auf safeOS.de. Anlegen Ihrer Standorte, Teams und tätigkeitsspezifischen Fragenkataloge – ohne IT-Aufwand.",
847    "sol.step2.title": "App ausrollen",
848    "sol.step2.body": "Mitarbeitende installieren die safeOS-App in unter einer Minute aus App Store oder Google Play. Mehrsprachig und intuitiv – auch ohne Schulung.",
849    "sol.step3.title": "Sicherheit dokumentieren",
850    "sol.step3.body": "Vor Arbeitsbeginn: kurzer LMRA. Bei Risiko: keine Freigabe. Bei Freigabe: revisionssichere Speicherung mit Zeitstempel und Geolokation.",
851
852    "feat.eyebrow": "Funktionen",
853    "feat.cta": "jetzt Registrieren",
854    "feat.title": "Operational <span class='italic'>Excellence</span>. <span class='accent'>Rechtlich abgesichert.</span>",
855    "feat.f1.tag": "LMRA Engine",
856    "feat.f1.title": "Risiken erkennen, <span class='italic'>bevor</span> sie zur Gefahr werden.",
857    "feat.f1.body": "Die Stärke von safeOS liegt in der situativen Frage-Logik. Jede Frage kann ausschließlich mit \"Ja\" oder \"Nein\" beantwortet werden – je nac
857h Kontext führt die jeweils risikohafte Antwort zur Sperrung der Arbeitsfreigabe.",
858    "feat.f1.li1.t": "250+ vordefinierte Fragen",
859    "feat.f1.li1.b": "Für die häufigsten Tätigkeiten in Bau, Logistik, Handwerk, Industrie und Gastronomie.",
860    "feat.f1.li2.t": "Eigene Fragenkataloge",
861    "feat.f1.li2.b": "Erstellen Sie individuelle Kataloge pro Tätigkeit, Standort oder Schichtmodell – ohne Code.",
862    "feat.f1.li3.t": "Automatische Sperrung",
863    "feat.f1.li3.b": "Bei kritischer Antwort: keine Freigabe. Handlungsempfehlung erscheint. Vorgesetzte werden alarmiert.",
864    "feat.f1.badge": "Live · LMRA aktiv",
865    "feat.f2.tag": "Auswertung & Reporting",
866    "feat.f2.title": "Daten, die zu <span class='italic'>Entscheidungen</span> werden.",
867    "feat.f2.body": "Statt Excel-Wirrwarr: ein zentrales Dashboard mit Heat-Maps, Trends und Frühwarnindikatoren. Sie sehen auf einen Blick, wo Schulungsbedarf besteht, welche Tätigkeiten kritisch sind und ob Schutzmaßnahmen wirken.",
868    "feat.f2.li1.t": "Echtzeit-Dashboard",
869    "feat.f2.li1.b": "Pro Standort, Team und Tätigkeit. Mobil und am Desktop. Mit Drill-Down auf den Einzelvorgang.",
870    "feat.f2.li2.t": "Audit-fähige Exporte",
871    "feat.f2.li2.b": "PDF- und CSV-Exporte für BG, Aufsichtsbehörde oder im Streitfall – inklusive Audit-Trail.",
872    "feat.f2.li3.t": "Anomalie-Erkennung",
873    "feat.f2.li3.b": "Auffällige Mitarbeitende oder Tätigkeitsmuster werden automatisch identifiziert.",
874    "feat.f2.badge": "Reporting · Q1 2026",
875
876    "legal.eyebrow": "Rechtssicherheit",
877    "legal.title": "Gerichtsverwertbare <span class='italic'>Dokumentation</span>. Vom ersten Tag an.",
878    "legal.quote": "Der Arbeitgeber hat durch eine Beurteilung der für die Beschäftigten mit ihrer Arbeit verbundenen Gefährdung zu ermitteln, welche Maßnahmen <em>erforderlich</em> sind.",
879    "legal.quoteCite": "§ 5 Arbeitsschutzgesetz (ArbSchG)",
880    "legal.p1.t": "Pflicht zur Gefährdungsbeurteilung",
881    "legal.p1.b": "safeOS bringt die Risikobeurteilung dorthin, wo sie zählt: an den Arbeitsplatz, unmittelbar vor Arbeitsbeginn. Jede Beurteilung wird mit Zeitstempel, Standort und Mitarbeitenden-ID revisionssicher dokumentiert.",
882    "legal.p2.t": "Dokumentationspflicht (§ 6 ArbSchG)",
883    "legal.p2.b": "Lückenlose, revisionssichere Aufzeichnung – jederzeit als PDF-Export für BG oder Aufsicht abrufbar.",
884    "legal.p3.t": "Unterweisungspflicht (§ 12 ArbSchG)",
885    "legal.p3.b": "Mit jeder LMRA bestätigen Ihre Mitarbeitenden tätigkeitsbezogene Sicherheitsregeln – bei kritischen Antworten erklärt safeOS die richtige Vorgehensweise sofort. Inklusive lückenlosem Nachweis der Kenntnisnahme.",
886    "legal.p4.t": "DSGVO-konform (Art. 5, 32)",
887    "legal.p4.b": "Serverstandort Deutschland. Verschlüsselung in Ruhe und im Transit. Auftragsverarbeitungsvertrag inklusive.",
888    "legal.p5.t": "Entlastung der Geschäftsführung",
889    "legal.p5.b": "Im Streitfall belegen Sie systematische Sorgfalt – ein wesentlicher Faktor zur Vermeidung persönlicher Haftung.",
890
891    "callout.eyebrow": "Praxisbeleg",
892    "callout.text": "Arbeitsunfälle bei der <span class='accent callout-company'>ESG Energy Service Group GmbH</span><br>nach Einführung von safeOS.",
893    "callout.detail": "2020 bis 2024: von 8 auf 2 meldepflichtige Unfälle pro Jahr",
894    "callout.source": "Quelle: <a href='https://digibib.hs-nb.de/resolve/id/dbhsnb_thesis_0000003269?_search=c9d218fe-60eb-4722-9eac-6f576b9a8cf4&amp;_hit=0' target='_blank' rel='noopener noreferrer'>Fallstudie zur ESG Energy Service Group GmbH, tätig im Bereich Windenergie-Service, Bachelorthesis Hochschule Neubrandenburg 2025 (link).</a>",
895
896    "faq.eyebrow": "Häufige Fragen",
897    "faq.title": "Antworten für <span class='italic'>Entscheider</span>.",
898    "faq.sub": "Sie haben spezifische Fragen zu Integration, Datenschutz oder Skalierung? Wir antworten innerhalb eines Werktags.",
899    "faq.q1.q": "Welchen rechtlichen Nutzen hat safeOS konkret im Streitfall?",
900    "faq.q1.a": "safeOS erstellt für jede LMRA einen unveränderlichen Datensatz mit Zeitstempel, Standort, Mitarbeitenden-ID und sämtlichen Antworten. Im Falle einer behördlichen Prüfung oder eines Gerichtsverfahrens dient dieser Nachweis als Beleg systematischer Sorgfalt bei Gefährdungsbeurteilung, Dokumentation und Unterweisung gemäß §§ 5, 6, 12 ArbSchG.",
901    "faq.q2.q": "Wie hoch ist der Implementierungsaufwand?",
902    "faq.q2.a": "Minimal. Nach der Registrierung importieren Sie Standorte und Teams (CSV oder API). Die App lädt jeder Mitarbeitende selbst aus dem App Store oder Google Play. Erste produktive LMRAs sind im Schnitt nach 3 Minuten möglich. Eine SiFa-Begleitung bei der Katalog-Erstellung bieten wir optional an.",
903    "faq.q3.q": "Was passiert mit den Daten? Wo werden sie verarbeitet?",
904    "faq.q3.a": "Alle Daten werden ausschließlich in Rechenzentren in Deutschland verarbeitet (ISO 27001-zertifiziert). Wir verschlüsseln im Transit (TLS 1.3) und at-rest (AES-256). Sie erhalten einen DSGVO-konformen Auftragsverarbeitungsvertrag (AVV). Daten gehören Ihnen – Export jederzeit möglich.",
905    "faq.q4.q": "Lässt sich safeOS in unsere bestehenden Systeme integrieren?",
906    "faq.q4.a": "Ja. Wir bieten eine REST-API für Anbindung an HR-Systeme, ERP oder Sicherheitsmanagement-Software. Single-Sign-On (SSO) via SAML/OIDC ist verfügbar. Standard-Konnektoren für gängige Systeme entwickeln wir kontinuierlich weiter.",
907    "faq.q5.q": "Was kostet safeOS?",
908    "faq.q5.a": "safeOS bietet vier transparente Preispläne von Basic bis Enterprise. Die monatliche Grundgebühr startet bei 69,– € und wächst je nac
908h gewünschtem Funktionsumfang, Standortanzahl und Teamgröße.",
909    "faq.q5.teaser": "safeOS bietet vier transparente Preispläne von Basic bis Enterprise. Die monatliche Grundgebühr startet bei 69,– € und wächst je nach gewünschtem Funktionsumfang, Standortanzahl und Teamgröße.",
910    "faq.q6.q": "Funktioniert die App auch ohne stabile Internet-Verbindung?",
911    "faq.q6.a": "Ja. safeOS arbeitet offline-fähig. LMRAs lassen sich auch ohne Verbindung durchführen; die Synchronisation erfolgt automatisch, sobald die Verbindung wiederhergestellt ist. Ideal für Baustellen, abgelegene Standorte oder Tunnel-Arbeit.",
912    "pricing.open": "Preispläne ansehen",
913    "pricing.kicker": "Preispläne",
914    "pricing.title": "Der passende Plan für jedes Team.",
915    "pricing.sub": "Alle Pläne enthalten die safeOS LMRA-Basis. Je nach Unternehmensgröße, Anzahl der Arbeitsorte und gewünschter Steuerung wählen Sie zwischen einem schlanken Einstieg und voller API-Integration.",
916    "pricing.register": "Registrieren",
917    "pricing.recommended": "Empfohlen",
918    "pricing.basic.desc": "Für kleine Teams.",
919    "pricing.basic.variable": "Keine Nutzungsgebühr",
920    "pricing.basic.meta": "Bis 5 Mitarbeitende und 1 Arbeitsort.",
921    "pricing.basic.f1": "1 Standard-Fragenkatalog",
922    "pricing.basic.f2": "LMRA und Cockpit-Basis",
923    "pricing.basic.f3": "Schneller Einstieg ohne Zusatzkomplexität",
924    "pricing.basic.note": "Ideal für erste Standorte oder kompakte Teams.",
925    "pricing.basicplus.desc": "Für wachsende Teams.",
926    "pricing.basicplus.variable": "+ 0,20 € / Mitarbeitendem und aktivem Tag",
927    "pricing.basicplus.meta": "Bis 25 Mitarbeitende und bis zu 5 Arbeitsorte.",
928    "pricing.basicplus.f1": "Bis 5 Kataloge mit Fragen-Editor",
929    "pricing.basicplus.f2": "Externe Betreuungs-Funktion",
930    "pricing.basicplus.f3": "LMRA und vollständiges Cockpit",
931    "pricing.basicplus.note": "Geeignet für Teams mit mehreren Bereichen oder Standorten.",
932    "pricing.pro.desc": "Für skalierende Organisationen mit erweitertem Steuerungsbedarf.",
933    "pricing.pro.variable": "+ 0,30 € / Mitarbeitendem und aktivem Tag",
934    "pricing.pro.meta": "Unbegrenzte Mitarbeitende, bis 10 Arbeitsorte und 50 Arbeitsgegenstände.",
935    "pricing.pro.f1": "Bis 10 Kataloge mit Fragen-Editor und KI-Unterstützung",
936    "pricing.pro.f2": "Erweitertes Cockpit mit Handlungsbedarf",
937    "pricing.pro.f3": "Excel-Export für Analysen und externe Betreuung",
938    "pricing.pro.note": "Die stärkste Balance aus Skalierung, Transparenz und Tempo.",
939    "pricing.enterprise.desc": "Für maximale Skalierung und Kontrolle.",
940    "pricing.enterprise.variable": "+ 0,40 € / Mitarbeitendem und aktivem Tag",
941    "pricing.enterprise.meta": "Unbegrenzte Arbeitsorte, Arbeitsgegenstände, Kataloge und Rollen.",
942    "pricing.enterprise.f1": "Individuelle Sicherheitskampagnen und Mitarbeitergruppen",
943    "pricing.enterprise.f2": "Dynamisches Rollenmanagement",
944    "pricing.enterprise.f3": "Volle API-Integration und Excel-Export",
945    "pricing.enterprise.note": "Für Unternehmen mit komplexen Strukturen und Integrationsbedarf.",
946
947    "cta.eyebrow": "Bereit zum Start",
948    "cta.title": "Machen Sie Sicherheit zum <span class='italic'>Standard</span>. Nicht zum <span class='accent'>Zufall</span>.",
949    "cta.sub": "Vereinbaren Sie eine 20-minütige Online-Demo. Wir zeigen Ihnen anhand Ihrer eigenen Tätigkeiten, wie safeOS Ihr Unternehmen rechtlich absichert – ohne Vertragsbindung, ohne Verkaufsdruck.",
950    "cta.btn1": "jetzt Registrieren",
951    "cta.appstore.s": "Verfügbar im",
952    "cta.appstore.b": "App Store",
953    "cta.playstore.s": "Erhältlich bei",
954    "cta.playstore.b": "Google Play",
955    "contact.eyebrow": "Kontakt",
956    "contact.title": "Schreiben Sie uns direkt. <span class='accent'>Wir melden uns zeitnah.</span>",
957    "contact.sub": "Wenn Sie Fragen zu Demo, Einführung, Datenschutz oder Partner-Modellen haben, schicken Sie uns einfach eine Nachricht. Ihr Anliegen landet direkt bei safeOS.",
958    "contact.point1": "Antwort in der Regel innerhalb eines Werktags",
959    "contact.point2": "Geeignet für Demo-Anfragen, Rückrufe und Partnergespräche",
960    "contact.point3": "Direkter Versand an [email protected]",
961    "contact.directLabel": "Oder direkt per E-Mail:",
962    "contact.name": "Name",
963    "contact.company": "Unternehmen",
964    "contact.email": "E-Mail",
965    "contact.phone": "Telefon",
966    "contact.message": "Nachricht",
967    "contact.help": "Mit dem Absenden stimmen Sie zu, dass wir Ihre Angaben zur Bearbeitung Ihrer Anfrage verwenden.",
968    "contact.submit": "Nachricht senden",
969    "contact.sending": "Nachricht wird gesendet...",
970    "contact.success": "Vielen Dank. Ihre Nachricht wurde erfolgreich versendet.",
971    "contact.error": "Der Versand hat leider nicht funktioniert. Bitte versuchen Sie es erneut oder schreiben Sie an [email protected].",
972    "contact.validation": "Bitte füllen Sie Name, E-Mail und Nachricht aus.",
973
974    "footer.desc": "Die SaaS-Plattform für rechtssichere Arbeitssicherheit. Last Minute Risk Analysis für Unternehmen jeder Größe.",
975    "footer.product": "Produkt",
976    "footer.howto": "Funktionsweise",
977    "footer.legal": "Rechtssicherheit",
978    "footer.faq": "FAQ",
979    "footer.install": "Installieren",
980    "footer.company": "Unternehmen",
981    "footer.demo": "Demo anfragen",
982    "footer.contact": "Kontakt",
983    "footer.partner": "Partner werden",
984    "footer.legalCol": "Rechtliches",
985    "footer.imprint": "Impressum",
986    "footer.privacy": "Datenschutz",
987    "footer.terms": "AGB",
988    "footer.copy": "© 2026 safeOS · Last Minute Risk Analysis",
989    "footer.made": "Made in Germany · Hosted in Germany"
990  },
991
992  en: {
993    "nav.problem": "Risk",
994    "nav.solution": "Solution",
995    "nav.legal": "Compliance",
996    "nav.pricing": "Pricing",
997    "nav.register": "Register",
998    "nav.login": "Login",
999    "nav.faq": "FAQ",
1000    "nav.cta": "Live Demo",
1001    "hero.eyebrow": "Last Minute Risk Analysis for Business Owners",
1002    "hero.title": "A single accident<br/>costs more than<br/><span class='italic'>years</span> of <span class='accent'>prevention</span>.",
1003    "hero.sub": "safeOS is the occupational safety platform that legally protects your company. Employees answer risk-related yes/no questions before starting work – you get seamless, court-admissible documentation that satisfies OSHA, EU-OSHA and equivalent regulations.",
1004    "hero.cta1": "Live Demo",
1005    "hero.cta2": "See how it works",
1006    "hero.trust1": "GDPR-compliant",
1007    "hero.trust2": "EU-hosted",
1008    "hero.trust3": "Standards-aligned",
1009    "hero.trust4": "Live in 3 minutes",
1010    "hero.card.title": "Today · Live",
1011    "hero.card.row1": "Work clearances",
1012    "hero.card.row2": "Needs attention",
1013    "hero.card.row3": "Rate",
1014
1015    "risk.eyebrow": "The real risk",
1016    "risk.title": "What an accident <span class='italic'>actually</span> costs you.",
1017    "risk.sub": "Most business owners underestimate the true cost of a workplace accident. It's not just the medical bills – it's the chain of downtime, fines, reputation damage and personal liability.",
1018    "risk.s1.unit": "€ or more in severe workplace accidents",
1019    "risk.s1.label": "Permanent injury can drive medical treatment, downtime, replacement and follow-on costs into six figures.",
1020    "risk.s1.src": "Source: DGUV annual results 2024",
1021    "risk.s2.unit": "€ fine per breach possible",
1022    "risk.s2.label": "For demonstrable neglect of risk assessment – personal liability for management.",
1023    "risk.s2.src": "Sec. 25 ArbSchG, Sec. 9 OWiG",
1024    "risk.s3.unit": "years imprisonment for negligent homicide",
1025    "risk.s3.label": "Negligent bodily harm can still lead to up to 3 years' imprisonment or a fine.",
1026    "risk.s3.src": "Secs. 222, 229 German Criminal Code",
1027    "risk.s4.unit": "higher accident insurance premium possible",
1028    "risk.s4.label": "Premium surcharges typically vary between 10% and 30% depending on the employers' liability insurer and often affect several years.",
1029    "risk.s4.src": "Sec. 162 SGB VII, insurer bylaws",
1030
1031    "sol.eyebrow": "The solution",
1032    "sol.title": "Three steps to <span class='italic'>seamless</span> protection.",
1033    "sol.sub": "safeOS is a cloud platform for Last Minute Risk Analysis (LMRA). Before every task – or whenever activities change – your team completes a short, situational risk check. The system documents every decision in a court-admissible manner.",
1034    "sol.step1.title": "Set up your account",
1035    "sol.step1.body": "Register on safeOS.de. Add your sites, teams and activity-specific question catalogs – no IT effort required.",
1036    "sol.step2.title": "Roll out the app",
1037    "sol.step2.body": "Employees install the safeOS app in under a minute from App Store or Google Play. Multilingual and intuitive – no training needed.",
1038    "sol.step3.title": "Document safety",
1039    "sol.step3.body": "Before work starts: a brief LMRA. Risk detected: no clearance. Cleared: tamper-proof storage with timestamp and geolocation.",
1040
1041    "feat.eyebrow": "Features",
1042    "feat.cta": "Register now",
1043    "feat.title": "Operational <span class='italic'>excellence</span>. <span class='accent'>Legally secured.</span>",
1044    "feat.f1.tag": "LMRA Engine",
1045    "feat.f1.title": "Detect risks <span class='italic'>before</span> they become hazards.",
1046    "feat.f1.body": "safeOS's strength is its situational question logic. Every question is answered strictly yes or no – depending on context, the risk-bearing answer blocks work clearance.",
1047    "feat.f1.li1.t": "250+ predefined questions",
1048    "feat.f1.li1.b": "For the most common activities in construction, logistics, trades, industry and hospitality.",
1049    "feat.f1.li2.t": "Custom catalogs",
1050    "feat.f1.li2.b": "Build individual catalogs per activity, site or shift model – without code.",
1051    "feat.f1.li3.t": "Automatic lockout",
1052    "feat.f1.li3.b": "On a critical answer: no clearance. Mitigation guidance appears. Supervisors are alerted.",
1053    "feat.f1.badge": "Live · LMRA active",
1054    "feat.f2.tag": "Analytics & Reporting",
1055    "feat.f2.title": "Data that drives <span class='italic'>decisions</span>.",
1056    "feat.f2.body": "Instead of spreadsheet chaos: a central dashboard with heat maps, trends and early-warning indicators. See at a glance where training is needed, which activities are critical and whether your controls work.",
1057    "feat.f2.li1.t": "Real-time dashboard",
1058    "feat.f2.li1.b": "Per site, team and activity. Mobile and desktop. With drill-down to the individual event.",
1059    "feat.f2.li2.t": "Audit-ready exports",
1060    "feat.f2.li2.b": "PDF and CSV exports for insurers, regulators or litigation – including audit trail.",
1061    "feat.f2.li3.t": "Anomaly detection",
1062    "feat.f2.li3.b": "Outlier employees or activity patterns are identified automatically.",
1063    "feat.f2.badge": "Reporting · Q1 2026",
1064
1065    "legal.eyebrow": "Compliance",
1066    "legal.title": "Court-admissible <span class='italic'>documentation</span>. From day one.",
1067    "legal.quote": "The employer shall, through an assessment of the hazards associated with the work, determine which measures are <em>necessary</em>.",
1068    "legal.quoteCite": "§ 5 German Occupational Safety and Health Act",
1069    "legal.p1.t": "Risk assessment duty",
1070    "legal.p1.b": "safeOS documents every single activity-related assessment with timestamp, location and employee ID.",
1071    "legal.p2.t": "Documentation duty",
1072    "legal.p2.b": "Seamless, tamper-proof records – available as PDF export for insurers or authorities at any time.",
1073    "legal.p3.t": "Instruction duty",
1074    "legal.p3.b": "Daily micro-instruction through activity-specific questions – including proof of acknowledgement.",
1075    "legal.p4.t": "GDPR-compliant (Art. 5, 32)",
1076    "legal.p4.b": "Server location in Germany. Encryption at rest and in transit. Data processing agreement included.",
1077    "legal.p5.t": "Management relief",
1078    "legal.p5.b": "In a dispute you prove systematic diligence – a key factor in avoiding personal liability.",
1079
1080    "callout.eyebrow": "Practice evidence",
1081    "callout.text": "Workplace accidents at <span class='accent callout-company'>ESG Energy Service Group GmbH</span><br>after the introduction of safeOS.",
1082    "callout.detail": "2020 to 2024: from 8 to 2 reportable accidents per year",
1083    "callout.source": "Source: <a href='https://digibib.hs-nb.de/resolve/id/dbhsnb_thesis_0000003269?_search=c9d218fe-60eb-4722-9eac-6f576b9a8cf4&amp;_hit=0' target='_blank' rel='noopener noreferrer'>Case study of ESG Energy Service Group GmbH, active in wind energy services, bachelor's thesis, Neubrandenburg University of Applied Sciences, 2025 (link).</a>",
1084
1085    "faq.eyebrow": "Frequently asked",
1086    "faq.title": "Answers for <span class='italic'>decision makers</span>.",
1087    "faq.sub": "Specific questions about integration, data protection or scaling? We respond within one business day.",
1088    "faq.q1.q": "What is the concrete legal benefit of safeOS in case of a dispute?",
1089    "faq.q1.a": "safeOS creates an immutable record for every LMRA with timestamp, location, employee ID and all answers. In case of a regulatory audit or court proceedings, this serves as evidence of systematic diligence in risk assessment, documentation and instruction duties.",
1090    "faq.q2.q": "How much implementation effort is required?",
1091    "faq.q2.a": "Minimal. After registration you import sites and team
1091s (CSV or API). Each employee installs the app from App Store or Google Play. First productive LMRAs are possible within 3 minutes on average. Optional safety-officer support for catalog setup is available.",
1092    "faq.q3.q": "Where is data stored and processed?",
1093    "faq.q3.a": "All data is processed exclusively in ISO 27001-certified data centers in Germany. Encryption in transit (TLS 1.3) and at rest (AES-256). GDPR-compliant data processing agreement (DPA) included. Data is yours – export available at any time.",
1094    "faq.q4.q": "Can safeOS be integrated with our existing systems?",
1095    "faq.q4.a": "Yes. We provide a REST API for HR systems, ERP or safety management software. Single sign-on (SSO) via SAML/OIDC is available. Standard connectors for common systems are continuously expanded.",
1096    "faq.q5.q": "What does safeOS cost?",
1097    "faq.q5.a": "safeOS offers four transparent pricing plans from Basic to Enterprise. Monthly base pricing starts at €69 and scales with the feature set, number of sites and team size you need.",
1098    "faq.q5.teaser": "safeOS offers four transparent pricing plans from Basic to Enterprise. Monthly base pricing starts at €69 and scales with the feature set, number of sites and team size you need.",
1099    "faq.q6.q": "Does the app also work without a stable internet connection?",
1100    "faq.q6.a": "Yes. safeOS works offline-capable. LMRAs can be completed without a connection; sync occurs automatically once the connection is restored. Ideal for construction sites, remote locations or tunnel work.",
1101    "pricing.open": "View pricing plans",
1102    "pricing.kicker": "Pricing plans",
1103    "pricing.title": "The right plan for every team.",
1104    "pricing.sub": "All plans include the safeOS LMRA foundation. Depending on company size, number of sites and governance needs, you can choose between a lean entry point and full API integration.",
1105    "pricing.register": "Register",
1106    "pricing.recommended": "Recommended",
1107    "pricing.basic.desc": "For small teams.",
1108    "pricing.basic.variable": "No usage fee",
1109    "pricing.basic.meta": "Up to 5 employees and 1 site.",
1110    "pricing.basic.f1": "1 standard question catalog",
1111    "pricing.basic.f2": "LMRA and cockpit essentials",
1112    "pricing.basic.f3": "Fast start without extra complexity",
1113    "pricing.basic.note": "Ideal for first sites or compact teams.",
1114    "pricing.basicplus.desc": "For growing teams.",
1115    "pricing.basicplus.variable": "+ €0.20 per employee and active day",
1116    "pricing.basicplus.meta": "Up to 25 employees and up to 5 sites.",
1117    "pricing.basicplus.f1": "Up to 5 catalogs with question editor",
1118    "pricing.basicplus.f2": "External supervision function",
1119    "pricing.basicplus.f3": "LMRA and full cockpit",
1120    "pricing.basicplus.note": "Well suited for teams across multiple areas or locations.",
1121    "pricing.pro.desc": "For scaling organizations with advanced governance needs.",
1122    "pricing.pro.variable": "+ €0.30 per employee and active day",
1123    "pricing.pro.meta": "Unlimited employees, up to 10 sites and 50 work items.",
1124    "pricing.pro.f1": "Up to 10 catalogs with question editor and AI support",
1125    "pricing.pro.f2": "Advanced cockpit with action tracking",
1126    "pricing.pro.f3": "Excel export for analytics and external supervision",
1127    "pricing.pro.note": "The strongest balance of scale, visibility and speed.",
1128    "pricing.enterprise.desc": "For maximum scale and control.",
1129    "pricing.enterprise.variable": "+ €0.40 per employee and active day",
1130    "pricing.enterprise.meta": "Unlimited sites, work items, catalogs and roles.",
1131    "pricing.enterprise.f1": "Custom safety campaigns and employee groups",
1132    "pricing.enterprise.f2": "Dynamic role management",
1133    "pricing.enterprise.f3": "Full API integration and Excel export",
1134    "pricing.enterprise.note": "For organizations with complex structures and integration needs.",
1135
1136    "cta.eyebrow": "Ready to start",
1137    "cta.title": "Make safety a <span class='italic'>standard</span>. Not a <span class='accent'>coincidence</span>.",
1138    "cta.sub": "Book a 20-minute online demo. We'll show you – using your own activities – how safeOS legally protects your company. No contract obligation. No sales pressure.",
1139    "cta.btn1": "Register now",
1140    "cta.appstore.s": "Download on the",
1141    "cta.appstore.b": "App Store",
1142    "cta.playstore.s": "Get it on",
1143    "cta.playstore.b": "Google Play",
1144    "contact.eyebrow": "Contact",
1145    "contact.title": "Write to us directly. <span class='accent'>We will get back to you promptly.</span>",
1146    "contact.sub": "If you have questions about demos, rollout, data protection or partnerships, just send us a message. Your request goes straight to safeOS.",
1147    "contact.point1": "Usually answered within one business day",
1148    "contact.point2": "Ideal for demo requests, callbacks and partner conversations",
1149    "contact.point3": "Sent directly to [email protected]",
1150    "contact.directLabel": "Or contact us by email:",
1151    "contact.name": "Name",
1152    "contact.company": "Company",
1153    "contact.email": "Email",
1154    "contact.phone": "Phone",
1155    "contact.message": "Message",
1156    "contact.help": "By submitting, you agree that we may use your details to process your inquiry.",
1157    "contact.submit": "Send message",
1158    "contact.sending": "Sending message...",
1159    "contact.success": "Thank you. Your message has been sent successfully.",
1160    "contact.error": "Sending failed. Please try again or email [email protected].",
1161    "contact.validation": "Please fill in your name, email and message.",
1162
1163    "footer.desc": "The SaaS platform for legally compliant occupational safety. Last Minute Risk Analysis for c
1163ompanies of any size.",
1164    "footer.product": "Product",
1165    "footer.howto": "How it works",
1166    "footer.legal": "Compliance",
1167    "footer.faq": "FAQ",
1168    "footer.install": "Install",
1169    "footer.company": "Company",
1170    "footer.demo": "Request demo",
1171    "footer.contact": "Contact",
1172    "footer.partner": "Become a partner",
1173    "footer.legalCol": "Legal",
1174    "footer.imprint": "Imprint",
1175    "footer.privacy": "Privacy",
1176    "footer.terms": "Terms",
1177    "footer.copy": "© 2026 safeOS · Last Minute Risk Analysis",
1178    "footer.made": "Made in Germany · Hosted in Germany"
1179  },
1180
1181  es: {
1182    "nav.problem": "Riesgo",
1183    "nav.solution": "Solución",
1184    "nav.legal": "Cumplimiento",
1185    "nav.pricing": "Precios",
1186    "nav.register": "Registrarse",
1187    "nav.login": "Iniciar sesión",
1188    "nav.faq": "FAQ",
1189    "nav.cta": "Demo en vivo",
1190    "hero.eyebrow": "Last Minute Risk Analysis para empresarios",
1191    "hero.title": "Un solo accidente<br/>cuesta más que<br/><span class='italic'>años</span> de <span class='accent'>prevención</span>.",
1192    "hero.sub": "safeOS es la plataforma de seguridad laboral que protege legalmente a su empresa. Los empleados responden preguntas Sí/No relacionadas con riesgos antes de iniciar el trabajo – usted obtiene una documentación impecable, conforme a la normativa de prevención de riesgos y a prueba de litigios.",
1193    "hero.cta1": "Demo en vivo",
1194    "hero.cta2": "Ver cómo funciona",
1195    "hero.trust1": "Conforme con RGPD",
1196    "hero.trust2": "Servidores en la UE",
1197    "hero.trust3": "Alineado con normativas",
1198    "hero.trust4": "Operativo en 3 minutos",
1199    "hero.card.title": "Hoy · En vivo",
1200    "hero.card.row1": "Autorizaciones de trabajo",
1201    "hero.card.row2": "Acción requerida",
1202    "hero.card.row3": "Cuota",
1203
1204    "risk.eyebrow": "El riesgo real",
1205    "risk.title": "Lo que un accidente <span class='italic'>realmente</span> le cuesta.",
1206    "risk.sub": "La mayoría de empresarios subestima el coste real de un accidente laboral. No son solo los gastos médicos – es la cadena de bajas, multas, daño reputacional y responsabilidad personal.",
1207    "risk.s1.unit": "€ o más en accidentes laborales graves",
1208    "risk.s1.label": "Una lesión permanente puede llevar los costes de tratamiento, baja, sustitución y consecuencias posteriores a seis cifras.",
1209    "risk.s1.src": "Fuente: resultados anuales DGUV 2024",
1210    "risk.s2.unit": "€ de multa por infracción posible",
1211    "risk.s2.label": "Por negligencia demostrable en la evaluación de riesgos – responsabilidad personal de la dirección.",
1212    "risk.s2.src": "§ 25 ArbSchG, § 9 OWiG",
1213    "risk.s3.unit": "años de prisión por homicidio imprudente",
1214    "risk.s3.label": "Las lesiones imprudentes también pueden conllevar hasta 3 años de prisión o multa.",
1215    "risk.s3.src": "§§ 222, 229 Código Penal alemán",
1216    "risk.s4.unit": "recargo de cotización posible",
1217    "risk.s4.label": "Los recargos suelen variar entre el 10 % y el 30 % según la mutua profesional y a menudo repercuten durante varios años.",
1218    "risk.s4.src": "§ 162 SGB VII, estatutos de la BG",
1219
1220    "sol.eyebrow": "La solución",
1221    "sol.title": "Tres pasos hacia una <span class='italic'>protección impecable</span>.",
1222    "sol.sub": "safeOS es una plataforma cloud para Last Minute Risk Analysis (LMRA). Antes de cada tarea – o al cambiar de actividad – sus empleados completan un control de riesgos breve y situacional. El sistema documenta cada decisión con valor probatorio.",
1223    "sol.step1.title": "Configure su cuenta",
1224    "sol.step1.body": "Regístrese en safeOS.de. Añada sus centros, equipos y catálogos de preguntas específicos – sin esfuerzo de IT.",
1225    "sol.step2.title": "Despliegue la app",
1226    "sol.step2.body": "Los empleados instalan la app safeOS en menos de un minuto desde App Store o Google Play. Multilingüe e intuitiva – sin formación previa.",
1227    "sol.step3.title": "Documente la seguridad",
1228    "sol.step3.body": "Antes de iniciar: un LMRA breve. Si hay riesgo: no se autoriza. Si se autoriza: almacenamiento inalterable con marca de tiempo y geolocalización.",
1229
1230    "feat.eyebrow": "Funcionalidades",
1231    "feat.cta": "Registrarse ahora",
1232    "feat.title": "<span class='italic'>Excelencia</span> operativa. <span class='accent'>Respaldo jurídico.</span>",
1233    "feat.f1.tag": "Motor LMRA",
1234    "feat.f1.title": "Detecte riesgos <span class='italic'>antes</span> de que sean peligros.",
1235    "feat.f1.body": "La fuerza de safeOS radica en su lógica situacional de preguntas. Cada pregunta se responde exclusivamente con Sí o No – según el contexto, la respuesta que entraña riesgo bloquea la autorización de trabajo.",
1236    "feat.f1.li1.t": "250+ preguntas predefinidas",
1237    "feat.f1.li1.b": "Para las actividades más comunes en construcción, logística, oficios, industria y hostelería.",
1238    "feat.f1.li2.t": "Catálogos personalizados",
1239    "feat.f1.li2.b": "Cree catálogos individuales por actividad, centro o turno – sin programación.",
1240    "feat.f1.li3.t": "Bloqueo automático",
1241    "feat.f1.li3.b": "Si la respuesta es crítica: no hay autorización. Aparece la pauta de mitigación. Se alerta al responsable.",
1242    "feat.f1.badge": "En vivo · LMRA activo",
1243    "feat.f2.tag": "Análisis y reporting",
1244    "feat.f2.title": "Datos que se convierten en <span class='italic'>decisiones</span>.",
1245    "feat.f2.body": "En lugar del caos de hojas de cálculo: un panel central con mapas de calor, tendencias e indicadores de alerta temprana. Vea de un vistazo dónde se necesita formación, qué actividades son críticas y si las medidas funcionan.",
1246    "feat.f2.li1.t": "Panel en tiempo real",
1247    "feat.f2.li1.b": "Por centro, equipo y actividad. Móvil y escritorio. Con detalle hasta el evento individual.",
1248    "feat.f2.li2.t": "Exportaciones auditables",
1249    "feat.f2.li2.b": "Exportaciones PDF y CSV para mutua, inspección o procesos – incluyendo trazabilidad.",
1250    "feat.f2.li3.t": "Detección de anomalías",
1251    "feat.f2.li3.b": "Empleados o patrones de actividad atípicos se identifican automáticamente.",
1252    "feat.f2.badge": "Reporting · T1 2026",
1253
1254    "legal.eyebrow": "Cumplimiento",
1255    "legal.title": "<span class='italic'>Documentación</span> a prueba de litigios. Desde el primer día.",
1256    "legal.quote": "El empresario deberá, mediante una evaluación de los riesgos asociados al trabajo, determinar qué medidas son <em>necesarias</em>.",
1257    "legal.quoteCite": "Art. 16 Ley de Prevención de Riesgos Laborales",
1258    "legal.p1.t": "Obligación de evaluar riesgos",
1259    "legal.p1.b": "safeOS documenta cada evaluación de actividad con marca de tiempo, ubicación e ID del empleado.",
1260    "legal.p2.t": "Obligación de documentar",
1261    "legal.p2.b": "Registro inalterable y completo – disponible como exportación PDF para mutua o inspección en cualquier momento.",
1262    "legal.p3.t": "Obligación de formar e informar",
1263    "legal.p3.b": "Microformación diaria mediante preguntas específicas por actividad – con prueba de recepción.",
1264    "legal.p4.t": "Conforme con RGPD (arts. 5, 32)",
1265    "legal.p4.b": "Servidor en la UE. Cifrado en reposo y en tránsito. Contrato de tratamiento incluido.",
1266    "legal.p5.t": "Descarga de la dirección",
1267    "legal.p5.b": "En caso de litigio, acredita una diligencia sistemática – clave para evitar la responsabilidad personal.",
1268
1269    "callout.eyebrow": "Caso práctico",
1270    "callout.text": "Accidentes laborales en <span class='accent callout-company'>ESG Energy Service Group GmbH</span><br>tras la introducción de safeOS.",
1271    "callout.detail": "2020 a 2024: de 8 a 2 accidentes notificables al año",
1272    "callout.source": "Fuente: <a href='https://digibib.hs-nb.de/resolve/id/dbhsnb_thesis_0000003269?_search=c9d218fe-60eb-4722-9eac-6f576b9a8cf4&amp;_hit=0' target='_blank' rel='noopener noreferrer'>estudio de caso sobre ESG Energy Service Group GmbH, activa en el sector de servicios de energía eólica, tesis de grado, Hochschule Neubrandenburg, 2025 (link).</a>",
1273
1274    "faq.eyebrow": "Preguntas frecuentes",
1275    "faq.title": "Respuestas para <span class='italic'>decisores</span>.",
1276    "faq.sub": "¿Preguntas concretas sobre integración, protección de datos o escalabilidad? Respondemos en un día laborable.",
1277    "faq.q1.q": "¿Cuál es el beneficio jurídico concreto de safeOS en caso de litigio?",
1278    "faq.q1.a": "safeOS crea un registro inalterable para cada LMRA con marca de tiempo, ubicación, ID del empleado y todas las respuestas. En caso de auditoría administrativa o procedimiento judicial, este registro sirve como prueba de cumplimiento sistemático de las obligaciones de evaluación, documentación e información.",
1279    "faq.q2.q": "¿Cuánto esfuerzo requiere la implementación?",
1280    "faq.q2.a": "Mínimo. Tras el registro importa centros y equipos (CSV o API). Cada empleado instala la app desde App Store o Google Play. Las primeras LMRAs productivas son posibles en 3 minutos de media. Opcionalmente ofrecemos acompañamiento de un técnico de prevención para configurar los catálogos.",
1281    "faq.q3.q": "¿Dónde se almacenan y procesan los datos?",
1282    "faq.q3.a": "Todos los datos se procesan exclusivamente en centros de datos certificados ISO 27001 en Alemania. Cifrado en tránsito (TLS 1.3) y en reposo (AES-256). Incluimos contrato de tratamiento conforme al RGPD. Los datos son suyos – exportación disponible en cualquier momento.",
1283    "faq.q4.q": "¿Se puede integrar safeOS con nuestros sistemas existentes?",
1284    "faq.q4.a": "Sí. Disponemos de API REST para integración con sistemas RR. HH., ERP o software de gestión de seguridad. SSO mediante SAML/OIDC disponible. Ampliamos continuamente los conectores estándar para sistemas habituales.",
1285    "faq.q5.q": "¿Cuánto cuesta safeOS?",
1286    "faq.q5.a": "safeOS ofrece cuatro planes de precios transparentes, desde Basic hasta Enterprise. La cuota base mensual comienza en 69 € y crece según las funciones, el número de centros y el tamaño del equipo que necesite.",
1287    "faq.q5.teaser": "safeOS ofrece cuatro planes de precios transparentes, desde Basic hasta Enterprise. La cuota base mensual comienza en 69 € y crece según las funciones, el número de centros y el tamaño del equipo que necesite.",
1288    "faq.q6.q": "¿Funciona la app sin conexión estable a internet?",
1289    "faq.q6.a": "Sí. safeOS funciona en modo offline. Las LMRAs pueden completarse sin conexión; la sincronización es automática al restablecerse. Ideal para obras, ubicaciones remotas o trabajo en túneles.",
1290    "pricing.open": "Ver planes de precios",
1291    "pricing.kicker": "Planes de precios",
1292    "pricing.title": "El plan adecuado para cada equipo.",
1293    "pricing.sub": "Todos los planes incluyen la base LMRA de safeOS. Según el tamaño de la empresa, el número de centros y el nivel de control deseado, puede elegir entre una entrada ágil y una integración API completa.",
1294    "pricing.register": "Registrarse",
1295    "pricing.recommended": "Recomendado",
1296    "pricing.basic.desc": "Para equipos pequeños.",
1297    "pricing.basic.variable": "Sin cuota de uso",
1298    "pricing.basic.meta": "Hasta 5 empleados y 1 centro de trabajo.",
1299    "pricing.basic.f1": "1 catálogo estándar de preguntas",
1300    "pricing.basic.f2": "LMRA y panel básico",
1301    "pricing.basic.f3": "Inicio rápido sin complejidad adicional",
1302    "pricing.basic.note": "Ideal para primeros centros o equipos compactos.",
1303    "pricing.basicplus.desc": "Para equipos en crecimiento.",
1304    "pricing.basicplus.variable": "+ 0,20 € por empleado y día activo",
1305    "pricing.basicplus.meta": "Hasta 25 empleados y hasta 5 centros de trabajo.",
1306    "pricing.basicplus.f1": "Hasta 5 catálogos con editor de preguntas",
1307    "pricing.basicplus.f2": "Función de supervisión externa",
1308    "pricing.basicplus.f3": "LMRA y panel completo",
1309    "pricing.basicplus.note": "Adecuado para equipos con varias áreas o ubicaciones.",
1310    "pricing.pro.desc": "Para organizaciones en crecimiento con necesidades avanzadas de control.",
1311    "pricing.pro.variable": "+ 0,30 € por empleado y día activo",
1312    "pricing.pro.meta": "Empleados ilimitados, hasta 10 centros y 50 elementos de trabajo.",
1313    "pricing.pro.f1": "Hasta 10 catálogos con editor de preguntas y apoyo de IA",
1314    "pricing.pro.f2": "Panel avanzado con necesidades de acción",
1315    "pricing.pro.f3": "Exportación a Excel para análisis y supervisión externa",
1316    "pricing.pro.note": "El mejor equilibrio entre escala, visibilidad y velocidad.",
1317    "pricing.enterprise.desc": "Para máxima escala y control.",
1318    "pricing.enterprise.variable": "+ 0,40 € por empleado y día activo",
1319    "pricing.enterprise.meta": "Centros, elementos de trabajo, catálogos y roles ilimitados.",
1320    "pricing.enterprise.f1": "Campañas de seguridad personalizadas y grupos de empleados",
1321    "pricing.enterprise.f2": "Gestión dinámica de roles",
1322    "pricing.enterprise.f3": "Integración API completa y exportación a Excel",
1323    "pricing.enterprise.note": "Para empresas con estructuras complejas y necesidades de integración.",
1324
1325    "cta.eyebrow": "Listos para empezar",
1326    "cta.title": "Haga de la seguridad un <span class='italic'>estándar</span>. No un <span class='accent'>azar</span>.",
1327    "cta.sub": "Reserve una demo online de 20 minutos. Le mostramos con sus propias actividades cómo safeOS protege legalmente a su empresa – sin compromiso, sin presión comercial.",
1328    "cta.btn1": "Registrarse ahora",
1329    "cta.appstore.s": "Descárgalo en",
1330    "cta.appstore.b": "App Store",
1331    "cta.playstore.s": "Disponible en",
1332    "cta.playstore.b": "Google Play",
1333    "contact.eyebrow": "Contacto",
1334    "contact.title": "Escríbanos directamente. <span class='accent'>Le responderemos pronto.</span>",
1335    "contact.sub": "Si tiene preguntas sobre demos, implantación, protección de datos o colaboraciones, envíenos un mensaje. Su consulta llegará directamente a safeOS.",
1336    "contact.point1": "Normalmente respondemos en un día laborable",
1337    "contact.point2": "Ideal para solicitudes de demo, devoluciones de llamada y conversaciones de partners",
1338    "contact.point3": "Envío directo a [email protected]",
1339    "contact.directLabel": "O por correo electrónico:",
1340    "contact.name": "Nombre",
1341    "contact.company": "Empresa",
1342    "contact.email": "Correo electrónico",
1343    "contact.phone": "Teléfono",
1344    "contact.message": "Mensaje",
1345    "contact.help": "Al enviar el formulario, acepta que usemos sus datos para procesar su consulta.",
1346    "contact.submit": "Enviar mensaje",
1347    "contact.sending": "Enviando mensaje...",
1348    "contact.success": "Gracias. Su mensaje se ha enviado correctamente.",
1349    "contact.error": "No se pudo enviar el mensaje. Inténtelo de nuevo o escriba a [email protected].",
1350    "contact.validation": "Por favor, complete nombre, correo electrónico y mensaje.",
1351
1352    "footer.desc": "La plataforma SaaS para una seguridad laboral jurídicamente sólida. Last Minute Risk Analysis para empresas de cualquier tamaño.",
1353    "footer.product": "Producto",
1354    "footer.howto": "Cómo funciona",
1355    "footer.legal": "Cumplimiento",
1356    "footer.faq": "FAQ",
1357    "footer.install": "Instalar",
1358    "footer.company": "Empresa",
1359    "footer.demo": "Solicitar demo",
1360    "footer.contact": "Contacto",
1361    "footer.partner": "Ser partner",
1362    "footer.legalCol": "Legal",
1363    "footer.imprint": "Aviso legal",
1364    "footer.privacy": "Privacidad",
1365    "footer.terms": "Términos",
1366    "footer.copy": "© 2026 safeOS · Last Minute Risk Analysis",
1367    "footer.made": "Made in Germany · Hosted in Germany"
1368  },
1369
1370  fr: {
1371    "nav.problem": "Risque",
1372    "nav.solution": "Solution",
1373    "nav.legal": "Conformité",
1374    "nav.pricing": "Tarifs",
1375    "nav.register": "S'inscrire",
1376    "nav.login": "Connexion",
1377    "nav.faq": "FAQ",
1378    "nav.cta": "Démo en direct",
1379    "hero.eyebrow": "Last Minute Risk Analysis pour dirigeants",
1380    "hero.title": "Un seul accident<br/>coûte plus que<br/><span class='italic'>des années</span> de <span class='accent'>prévention</span>.",
1381    "hero.sub": "safeOS est la plateforme de sécurité au travail qui protège juridiquement votre entreprise. Vos collaborateurs répondent à des questions Oui/Non liées aux risques avant de commencer – vous obtenez une documentation sans faille, conforme au Code du travail et opposable en justice.",
1382    "hero.cta1": "Démo en direct",
1383    "hero.cta2": "Voir comment ça marche",
1384    "hero.trust1": "Conforme RGPD",
1385    "hero.trust2": "Hébergement UE",
1386    "hero.trust3": "Aligné réglementation",
1387    "hero.trust4": "Opérationnel en 3 min",
1388    "hero.card.title": "Aujourd'hui · En direct",
1389    "hero.card.row1": "Autorisations de travail",
1390    "hero.card.row2": "Action requise",
1391    "hero.card.row3": "Taux",
1392
1393    "risk.eyebrow": "Le vrai risque",
1394    "risk.title": "Ce qu'un accident vous coûte <span class='italic'>réellement</span>.",
1395    "risk.sub": "La plupart des dirigeants sous-estiment le coût réel d'un accident du travail. Ce ne sont pas seulement les soins – c'est la chaîne d'arrêts, d'amendes, d'atteinte à l'image et de responsabilité personnelle.",
1396    "risk.s1.unit": "€ ou plus en cas d'accident du travail grave",
1397    "risk.s1.label": "Une atteinte permanente peut faire grimper les soins, arrêts, remplacements et coûts indirects à six chiffres.",
1398    "risk.s1.src": "Source : résultats annuels DGUV 2024",
1399    "risk.s2.unit": "€ d'amende par manquement possible",
1400    "risk.s2.label": "En cas de négligence prouvée du document unique – responsabilité personnelle du dirigeant.",
1401    "risk.s2.src": "§ 25 ArbSchG, § 9 OWiG",
1402    "risk.s3.unit": "ans de prison pour homicide involontaire",
1403    "risk.s3.label": "Les blessures involontaires peuvent aussi entraîner jusqu'à 3 ans d'emprisonnement ou une amende.",
1404    "risk.s3.src": "§§ 222, 229 Code pénal allemand",
1405    "risk.s4.unit": "majoration de cotisation possible",
1406    "risk.s4.label": "Les majorations varient généralement entre 10 % et 30 % selon la caisse professionnelle et peuvent peser sur plusieurs années.",
1407    "risk.s4.src": "§ 162 SGB VII, statuts de la BG",
1408
1409    "sol.eyebrow": "La solution",
1410    "sol.title": "Trois étapes vers une <span class='italic'>protection sans faille</span>.",
1411    "sol.sub": "safeOS est une plateforme cloud de Last Minute Risk Analysis (LMRA). Avant chaque tâche – ou à chaque changement d'activité – vos collaborateurs effectuent un contrôle de risque court et situationnel. Le système documente chaque décision de manière opposable.",
1412    "sol.step1.title": "Créer votre compte",
1413    "sol.step1.body": "Inscription sur safeOS.de. Ajout de vos sites, équipes et catalogues de questions par activité – sans intervention IT.",
1414    "sol.step2.title": "Déployer l'app",
1415    "sol.step2.body": "Les collaborateurs installent l'app safeOS en moins d'une minute depuis l'App Store ou Google Play. Multilingue et intuitive – sans formation.",
1416    "sol.step3.title": "Documenter la sécurité",
1417    "sol.step3.body": "Avant la prise de poste : un bref LMRA. En cas de risque : pas d'autorisation. En cas d'autorisation : conservation inaltérable avec horodatage et géolocalisation.",
1418
1419    "feat.eyebrow": "Fonctionnalités",
1420    "feat.cta": "S'inscrire maintenant",
1421    "feat.title": "<span class='italic'>Excellence</span> opérationnelle. <span class='accent'>Sécurisée juridiquement.</span>",
1422    "feat.f1.tag": "Moteur LMRA",
1423    "feat.f1.title": "Identifier les risques <span class='italic'>avant</span> qu'ils ne deviennent dangers.",
1424    "feat.f1.body": "La force de safeOS réside dans sa logique situationnelle de questionnement. Chaque question se répond uniquement par Oui ou Non – selon le contexte, la réponse à risque bloque l'autorisation de travail.",
1425    "feat.f1.li1.t": "250+ questions prédéfinies",
1426    "feat.f1.li1.b": "Pour les activités les plus courantes : BTP, logistique, artisanat, industrie, restauration.",
1427    "feat.f1.li2.t": "Catalogues personnalisés",
1428    "feat.f1.li2.b": "Créez des catalogues par activité, site ou équipe – sans code.",
1429    "feat.f1.li3.t": "Verrouillage automatique",
1430    "feat.f1.li3.b": "Réponse critique : pas d'autorisation. Mesure recommandée affichée. Encadrement alerté.",
1431    "feat.f1.badge": "Live · LMRA active",
1432    "feat.f2.tag": "Analyse & reporting",
1433    "feat.f2.title": "Des données qui deviennent <span class='italic'>décisions</span>.",
1434    "feat.f2.body": "Fini le tableur : un tableau de bord central avec cartes thermiques, tendances et indicateurs d'alerte. Voyez en un coup d'œil où former, quelles activités sont critiques, si vos mesures fonctionnent.",
1435    "feat.f2.li1.t": "Tableau de bord temps réel",
1436    "feat.f2.li1.b": "Par site, équipe et activité. Mobile et bureau. Avec drill-down jusqu'à l'événement.",
1437    "feat.f2.li2.t": "Exports auditables",
1438    "feat.f2.li2.b": "Exports PDF et CSV pour caisse, inspection ou contentieux – avec piste d'audit.",
1439    "feat.f2.li3.t": "Détection d'anomalies",
1440    "feat.f2.li3.b": "Collaborateurs ou activités atypiques identifiés automatiquement.",
1441    "feat.f2.badge": "Reporting · T1 2026",
1442
1443    "legal.eyebrow": "Conformité",
1444    "legal.title": "<span class='italic'>Documentation</span> opposable. Dès le premier jour.",
1445    "legal.quote": "L'employeur évalue les risques pour la santé et la sécurité des travailleurs et détermine les mesures <em>nécessaires</em>.",
1446    "legal.quoteCite": "Art. L. 4121-3 Code du travail",
1447    "legal.p1.t": "Obligation d'évaluation",
1448    "legal.p1.b": "safeOS documente chaque évaluation par activité avec horodatage, lieu et identifiant collaborateur.",
1449    "legal.p2.t": "Document unique (DUERP)",
1450    "legal.p2.b": "Tenue inaltérable et complète – export PDF pour caisse ou inspection à tout moment.",
1451    "legal.p3.t": "Obligation de formation",
1452    "legal.p3.b": "Micro-formation quotidienne via questions spécifiques – avec accusé de prise de connaissance.",
1453    "legal.p4.t": "Conforme RGPD (art. 5, 32)",
1454    "legal.p4.b": "Hébergement UE. Chiffrement au repos et en transit. Contrat de sous-traitance inclus.",
1455    "legal.p5.t": "Protection du dirigeant",
1456    "legal.p5.b": "En cas de contentieux, vous prouvez la diligence systématique – clé pour éviter la responsabilité personnelle.",
1457
1458    "callout.eyebrow": "Cas pratique",
1459    "callout.text": "Accidents du travail chez <span class='accent callout-company'>ESG Energy Service Group GmbH</span><br>après l'introduction de safeOS.",
1460    "callout.detail": "De 2020 à 2024 : de 8 à 2 accidents déclarables par an",
1461    "callout.source": "Source : <a href='https://digibib.hs-nb.de/resolve/id/dbhsnb_thesis_0000003269?_search=c9d218fe-60eb-4722-9eac-6f576b9a8cf4&amp;_hit=0' target='_blank' rel='noopener noreferrer'>étude de cas sur ESG Energy Service Group GmbH, active dans les services liés à l'énergie éolienne, mémoire de bachelor, Hochschule Neubrandenburg, 2025 (link).</a>",
1462
1463    "faq.eyebrow": "Questions fréquentes",
1464    "faq.title": "Réponses pour <span class='italic'>décideurs</span>.",
1465    "faq.sub": "Questions spécifiques sur l'intégration, la protection des données ou le passage à l'échelle ? Nous répondons sous un jour ouvré.",
1466    "faq.q1.q": "Quel est le bénéfice juridique concret de safeOS en cas de contentieux ?",
1467    "faq.q1.a": "safeOS crée un enregistrement inaltérable pour chaque LMRA avec horodatage, lieu, identifiant et toutes les réponses. Lors d'un contrôle ou d'une procédure, cet enregistrement prouve l'exécution systématique des obligations d'évaluation, de documentation et de formation.",
1468    "faq.q2.q": "Quel est l'effort d'implémentation ?",
1469    "faq.q2.a": "Minimal. Après inscription, vous importez sites et équipes (CSV ou API). Chaque collaborateur installe l'app depuis l'App Store ou Google Play. Premières LMRAs productives en 3 minutes en moyenne. Accompagnement optionnel d'un préventeur pour la configuration.",
1470    "faq.q3.q": "Où sont stockées et traitées les données ?",
1471    "faq.q3.a": "Toutes les données sont traitées exclusivement dans des centres certifiés ISO 27001 en Allemagne. Chiffrement en transit (TLS 1.3) et au repos (AES-256). Contrat de sous-traitance RGPD inclus. Vos données vous appartiennent – export à tout moment.",
1472    "faq.q4.q": "safeOS s'intègre-t-il à nos systèmes existants ?",
1473    "faq.q4.a": "Oui. API REST disponible pour intégration RH, ERP ou logiciel HSE. SSO via SAML/OIDC. Connecteurs standards pour systèmes courants étendus en continu.",
1474    "faq.q5.q": "Combien coûte safeOS ?",
1475    "faq.q5.a": "safeOS propose quatre plans tarifaires transparents, de Basic à Enterprise. Le forfait mensuel démarre à 69 € et évolue selon les fonctionnalités, le nombre de sites et la taille d'équipe dont vous avez besoin.",
1476    "faq.q5.teaser": "safeOS propose quatre plans tarifaires transparents, de Basic à Enterprise. Le forfait mensuel démarre à 69 € et évolue selon les fonctionnalités, le nombre de sites et la taille d'équipe dont vous avez besoin.",
1477    "faq.q6.q": "L'app fonctionne-t-elle sans connexion stable ?",
1478    "faq.q6.a": "Oui. safeOS fonctionne hors-ligne. Les LMRAs sont réalisables sans connexion ; la synchronisation est automatique au rétablissement. Idéal pour chantiers, sites éloignés ou travaux en tunnel.",
1479    "pricing.open": "Voir les tarifs",
1480    "pricing.kicker": "Tarifs",
1481    "pricing.title": "Le bon plan pour chaque équipe.",
1482    "pricing.sub": "Tous les plans incluent la base LMRA de safeOS. Selon la taille de l'entreprise, le nombre de sites et le niveau de pilotage souhaité, vous choisissez entre une formule légère et une intégration API complète.",
1483    "pricing.register": "S'inscrire",
1484    "pricing.recommended": "Recommandé",
1485    "pricing.basic.desc": "Pour les petites équipes.",
1486    "pricing.basic.variable": "Aucun frais d'usage",
1487    "pricing.basic.meta": "Jusqu'à 5 collaborateurs et 1 site.",
1488    "pricing.basic.f1": "1 catalogue standard de questions",
1489    "pricing.basic.f2": "LMRA et cockpit de base",
1490    "pricing.basic.f3": "Démarrage rapide sans complexité supplémentaire",
1491    "pricing.basic.note": "Idéal pour les premiers sites ou les équipes compactes.",
1492    "pricing.basicplus.desc": "Pour les équipes en croissance.",
1493    "pricing.basicplus.variable": "+ 0,20 € par collaborateur et par jour actif",
1494    "pricing.basicplus.meta": "Jusqu'à 25 collaborateurs et jusqu'à 5 sites.",
1495    "pricing.basicplus.f1": "Jusqu'à 5 catalogues avec éditeur de questions",
1496    "pricing.basicplus.f2": "Fonction de supervision externe",
1497    "pricing.basicplus.f3": "LMRA et cockpit complet",
1498    "pricing.basicplus.note": "Adapté aux équipes réparties sur plusieurs zone
1498s ou sites.",
1499    "pricing.pro.desc": "Pour les organisations en croissance avec des besoins de pilotage avancés.",
1500    "pricing.pro.variable": "+ 0,30 € par collaborateur et par jour actif",
1501    "pricing.pro.meta": "Collaborateurs illimités, jusqu'à 10 sites et 50 objets de travail.",
1502    "pricing.pro.f1": "Jusqu'à 10 catalogues avec éditeur de questions et assistance IA",
1503    "pricing.pro.f2": "Cockpit avancé avec besoins d'action",
1504    "pricing.pro.f3": "Export Excel pour analyses et supervision externe",
1505    "pricing.pro.note": "Le meilleur équilibre entre échelle, visibilité et rapidité.",
1506    "pricing.enterprise.desc": "Pour une échelle et un contrôle maximum.",
1507    "pricing.enterprise.variable": "+ 0,40 € par collaborateur et par jour actif",
1508    "pricing.enterprise.meta": "Sites, objets de travail, catalogues et rôles illimités.",
1509    "pricing.enterprise.f1": "Campagnes sécurité personnalisées et groupes de collaborateurs",
1510    "pricing.enterprise.f2": "Gestion dynamique des rôles",
1511    "pricing.enterprise.f3": "Intégration API complète et export Excel",
1512    "pricing.enterprise.note": "Pour les entreprises aux structures complexes et aux besoins d'intégration.",
1513
1514    "cta.eyebrow": "Prêt à démarrer",
1515    "cta.title": "Faites de la sécurité un <span class='italic'>standard</span>. Pas un <span class='accent'>hasard</span>.",
1516    "cta.sub": "Réservez une démo en ligne de 20 minutes. Nous vous montrons – sur vos propres activités – comment safeOS protège juridiquement votre entreprise. Sans engagement. Sans pression commerciale.",
1517    "cta.btn1": "S'inscrire maintenant",
1518    "cta.appstore.s": "Téléchargez sur",
1519    "cta.appstore.b": "App Store",
1520    "cta.playstore.s": "Disponible sur",
1521    "cta.playstore.b": "Google Play",
1522    "contact.eyebrow": "Contact",
1523    "contact.title": "Ecrivez-nous directement. <span class='accent'>Nous vous répondrons rapidement.</span>",
1524    "contact.sub": "Si vous avez des questions sur la démo, le déploiement, la protection des données ou les partenariats, envoyez-nous un message. Votre demande arrive directement chez safeOS.",
1525    "contact.point1": "Réponse généralement sous un jour ouvré",
1526    "contact.point2": "Idéal pour les demandes de démo, rappels et échanges partenaires",
1527    "contact.point3": "Envoi direct à [email protected]",
1528    "contact.directLabel": "Ou par e-mail :",
1529    "contact.name": "Nom",
1530    "contact.company": "Entreprise",
1531    "contact.email": "E-mail",
1532    "contact.phone": "Téléphone",
1533    "contact.message": "Message",
1534    "contact.help": "En envoyant ce formulaire, vous acceptez que nous utilisions vos données pour traiter votre demande.",
1535    "contact.submit": "Envoyer le message",
1536    "contact.sending": "Envoi du message...",
1537    "contact.success": "Merci. Votre message a bien été envoyé.",
1538    "contact.error": "L'envoi a échoué. Veuillez réessayer ou écrire à [email protected].",
1539    "contact.validation": "Veuillez renseigner votre nom, votre e-mail et votre message.",
1540
1541    "footer.desc": "La plateforme SaaS pour une sécurité au travail juridiquement solide. Last Minute Risk Analysis pour entreprises de toute taille.",
1542    "footer.product": "Produit",
1543    "footer.howto": "Fonctionnement",
1544    "footer.legal": "Conformité",
1545    "footer.faq": "FAQ",
1546    "footer.install": "Installer",
1547    "footer.company": "Entreprise",
1548    "footer.demo": "Demander une démo",
1549    "footer.contact": "Contact",
1550    "footer.partner": "Devenir partenaire",
1551    "footer.legalCol": "Mentions",
1552    "footer.imprint": "Mentions légales",
1553    "footer.privacy": "Confidentialité",
1554    "footer.terms": "CGU",
1555    "footer.copy": "© 2026 safeOS · Last Minute Risk Analysis",
1556    "footer.made": "Made in Germany · Hosted in Germany"
1557  },
1558
1559  pt: {
1560    "nav.problem": "Risco",
1561    "nav.solution": "Solução",
1562    "nav.legal": "Conformidade",
1563    "nav.pricing": "Precos",
1564    "nav.register": "Registar",
1565    "nav.login": "Login",
1566    "nav.faq": "FAQ",
1567    "nav.cta": "Demonstração ao vivo",
1568    "hero.eyebrow": "Last Minute Risk Analysis para empresários",
1569    "hero.title": "Um único acidente<br/>custa mais do que<br/><span class='italic'>anos</span> de <span class='accent'>prevenção</span>.",
1570    "hero.sub": "safeOS é a plataforma de segurança no trabalho que protege juridicamente a sua empresa. Os colaboradores respondem a perguntas Sim/Não relacionadas com riscos antes de iniciar o trabalho – você obtém documentação completa, em conformidade com a legislação e admissível em tribunal.",
1571    "hero.cta1": "Demonstração ao vivo",
1572    "hero.cta2": "Ver como funciona",
1573    "hero.trust1": "Conforme com RGPD",
1574    "hero.trust2": "Servidores na UE",
1575    "hero.trust3": "Alinhado com regulamentação",
1576    "hero.trust4": "Operacional em 3 min",
1577    "hero.card.title": "Hoje · Ao vivo",
1578    "hero.card.row1": "Autorizações de trabalho",
1579    "hero.card.row2": "Ação necessária",
1580    "hero.card.row3": "Taxa",
1581
1582    "risk.eyebrow": "O risco real",
1583    "risk.title": "Quanto um acidente <span class='italic'>realmente</span> lhe custa.",
1584    "risk.sub": "A maioria dos empresários subestima o custo real de um acidente de trabalho. Não são apenas as despesas médicas – é a cadeia de paragens, multas, danos reputacionais e responsabilidade pessoal.",
1585    "risk.s1.unit": "€ ou mais em acidentes de trabalho graves",
1586    "risk.s1.label": "Uma lesão permanente pode levar os custos de tratamento, paragem, substituição e consequências posteriores a seis dígitos.",
1587    "risk.s1.src": "Fonte: resultados anuais DGUV 2024",
1588    "risk.s2.unit": "€ de multa por infração possível",
1589    "risk.s2.label": "Por negligência comprovada na avaliação de riscos – responsabilidade pessoal da direção.",
1590    "risk.s2.src": "§ 25 ArbSchG, § 9 OWiG",
1591    "risk.s3.unit": "anos de prisão por homicídio por negligência",
1592    "risk.s3.label": "A ofensa corporal por negligência também pode levar até 3 anos de prisão ou multa.",
1593    "risk.s3.src": "§§ 222, 229 Código Penal alemão",
1594    "risk.s4.unit": "agravamento do prémio possível",
1595    "risk.s4.label": "Os agravamentos variam tipicamente entre 10% e 30% consoante a associação profissional e podem repercutir-se durante vários anos.",
1596    "risk.s4.src": "§ 162 SGB VII, estatutos da BG",
1597
1598    "sol.eyebrow": "A solução",
1599    "sol.title": "Três passos até uma <span class='italic'>proteção sem falhas</span>.",
1600    "sol.sub": "safeOS é uma plataforma cloud para Last Minute Risk Analysis (LMRA). Antes de cada tarefa – ou em cada mudança de atividade – os seus colaboradores realizam um curto controlo de risco situacional. O sistema documenta cada decisão de forma probatória.",
1601    "sol.step1.title": "Configure a sua conta",
1602    "sol.step1.body": "Registo em safeOS.de. Adicione os seus locais, equipas e catálogos de perguntas por atividade – sem esforço de TI.",
1603    "sol.step2.title": "Implemente a app",
1604    "sol.step2.body": "Os colaboradores instalam a app safeOS em menos de um minuto da App Store ou Google Play. Multilingue e intuitiva – sem formação.",
1605    "sol.step3.title": "Documente a segurança",
1606    "sol.step3.body": "Antes do início: um breve LMRA. Em caso de risco: sem autorização. Em caso de autorização: armazenamento inalterável com data/hora e geolocalização.",
1607
1608    "feat.eyebrow": "Funcionalidades",
1609    "feat.cta": "Registar agora",
1610    "feat.title": "<span class='italic'>Excelência</span> operacional. <span class='accent'>Segurança jurídica.</span>",
1611    "feat.f1.tag": "Motor LMRA",
1612    "feat.f1.title": "Detete riscos <span class='italic'>antes</span> que se tornem perigos.",
1613    "feat.f1.body": "A força do safeOS está na sua lógica situacional de perguntas. Cada pergunta responde-se apenas com Sim ou Não – conforme o contexto, a resposta de risco bloqueia a autorização de trabalho.",
1614    "feat.f1.li1.t": "250+ perguntas predefinidas",
1615    "feat.f1.li1.b": "Para as atividades mais comuns em construção, logística, artesanato, indústria e restauração.",
1616    "feat.f1.li2.t": "Catálogos personalizados",
1617    "feat.f1.li2.b": "Crie catálogos individuais por atividade, local ou turno – sem código.",
1618    "feat.f1.li3.t": "Bloqueio automático",
1619    "feat.f1.li3.b": "Resposta crítica: sem autorização. Recomendação surge automaticamente. Responsáveis são alertados.",
1620    "feat.f1.badge": "Ao vivo · LMRA ativa",
1621    "feat.f2.tag": "Análise & reporting",
1622    "feat.f2.title": "Dados que se tornam <span class='italic'>decisões</span>.",
1623    "feat.f2.body": "Em vez do caos de folhas de cálculo: um painel central com mapas de calor, tendências e indicadores de alerta precoce. Veja num relance onde formar, quais atividades são críticas, se as suas medidas funcionam.",
1624    "feat.f2.li1.t": "Painel em tempo real",
1625    "feat.f2.li1.b": "Por local, equipa e atividade. Móvel e desktop. Com drill-down até ao evento individual.",
1626    "feat.f2.li2.t": "Exportações auditáveis",
1627    "feat.f2.li2.b": "Exportações PDF e CSV para seguradora, inspeção ou contencioso – incluindo trilho de auditoria.",
1628    "feat.f2.li3.t": "Deteção de anomalias",
1629    "feat.f2.li3.b": "Colaboradores ou padrões atípicos identificados automaticamente.",
1630    "feat.f2.badge": "Reporting · T1 2026",
1631
1632    "legal.eyebrow": "Conformidade",
1633    "legal.title": "<span class='italic'>Documentação</span> admissível em tribunal. Desde o primeiro dia.",
1634    "legal.quote": "O empregador deve, mediante avaliação dos riscos para a segurança e saúde dos trabalhadores, determinar as medidas <em>necessárias</em>.",
1635    "legal.quoteCite": "Art. 15.º Lei n.º 102/2009",
1636    "legal.p1.t": "Dever de avaliação de riscos",
1637    "legal.p1.b": "safeOS documenta cada avaliação por atividade com data/hora, local e ID do colaborador.",
1638    "legal.p2.t": "Dever de documentação",
1639    "legal.p2.b": "Registo inalterável e completo – exportação PDF para seguradora ou inspeção a qualquer momento.",
1640    "legal.p3.t": "Dever de formação e informação",
1641    "legal.p3.b": "Microformação diária através de perguntas específicas – com prova de tomada de conhecimento.",
1642    "legal.p4.t": "Conforme RGPD (arts. 5, 32)",
1643    "legal.p4.b": "Servidor na UE. Cifragem em repouso e em trânsito. Contrato de subcontratação incluído.",
1644    "legal.p5.t": "Proteção da direção",
1645    "legal.p5.b": "Em contencioso, prova-se a diligência sistemática – fator-chave para evitar responsabilidade pessoal.",
1646
1647    "callout.eyebrow": "Caso prático",
1648    "callout.text": "Acidentes de trabalho na <span class='accent callout-company'>ESG Energy Service Group GmbH</span><br>após a introdução do safeOS.",
1649    "callout.detail": "2020 a 2024: de 8 para 2 acidentes de notificação obrigatória por ano",
1650    "callout.source": "Fonte: <a href='https://digibib.hs-nb.de/resolve/id/dbhsnb_thesis_0000003269?_search=c9d218fe-60eb-4722-9eac-6f576b9a8cf4&amp;_hit=0' target='_blank' rel='noopener noreferrer'>estudo de caso sobre a ESG Energy Service Group GmbH, ativa no setor de serviços de energia eólica, tese de bacharelado, Hochschule Neubrandenburg, 2025 (link).</a>",
1651
1652    "faq.eyebrow": "Perguntas frequentes",
1653    "faq.title": "Respostas para <span class='italic'>decisores</span>.",
1654    "faq.sub": "Perguntas específicas sobre integração, proteção de dados ou escalabilidade? Respondemos no prazo de um dia útil.",
1655    "faq.q1.q": "Qual é o benefício jurídico concreto do safeOS em caso de contencioso?",
1656    "faq.q1.a": "safeOS cria um registo inalterável para cada LMRA com data/hora, local, ID do colaborador e todas as respostas. Numa auditoria administrativa ou processo judicial, este registo prova o cumprimento sistemático dos deveres de avaliação, documentação e informação.",
1657    "faq.q2.q": "Qual é o esforço de implementação?",
1658    "faq.q2.a": "Mínimo. Após o registo, importa locais e equipas (CSV ou API). Cada colaborador instala a app da App Store ou Google Play. Primeiras LMRAs produtivas em 3 minutos em média. Acompanhamento opcional por técnico de segurança para configuração de catálogos.",
1659    "faq.q3.q": "Onde são armazenados e processados os dados?",
1660    "faq.q3.a": "Todos os dados são processados exclusivamente em centros de dados certificados ISO 27001 na Alemanha. Cifragem em trânsito (TLS 1.3) e em repouso (AES-256). Contrato de subcontratação RGPD incluído. Os dados são seus – exportação a qualquer momento.",
1661    "faq.q4.q": "O safeOS integra-se com os nossos sistemas existentes?",
1662    "faq.q4.a": "Sim. API REST disponível para integração com RH, ERP ou software de gestão de segurança. SSO via SAML/OIDC. Conectores padrão para sistemas comuns expandidos continuamente.",
1663    "faq.q5.q": "Quanto custa o safeOS?",
1664    "faq.q5.a": "O safeOS oferece quatro planos de preços transparentes, do Basic ao Enterprise. A mensalidade base começa em 69 € e cresce conforme o conjunto de funcionalidades, o número de locais e a dimensão da equipa.",
1665    "faq.q5.teaser": "O safeOS oferece quatro planos de preços transparentes, do Basic ao Enterprise. A mensalidade base começa em 69 € e cresce conforme o conjunto de funcionalidades, o número de locais e a dimensão da equipa.",
1666    "faq.q6.q": "A app funciona sem ligação estável à internet?",
1667    "faq.q6.a": "Sim. safeOS funciona offline. As LMRAs podem ser realizadas sem ligação; a sincronização é automática quando restabelecida. Ideal para obras, locais remotos ou trabalho em túneis.",
1668    "pricing.open": "Ver planos de preços",
1669    "pricing.kicker": "Planos de preços",
1670    "pricing.title": "O plano certo para cada equipa.",
1671    "pricing.sub": "Todos os planos incluem a base LMRA do safeOS. Dependendo da dimensão da empresa, do número de locais e do nível de controlo pretendido, pode escolher entre uma entrada simples e integração API completa.",
1672    "pricing.register": "Registar",
1673    "pricing.recommended": "Recomendado",
1674    "pricing.basic.desc": "Para equipas pequenas.",
1675    "pricing.basic.variable": "Sem taxa de utilização",
1676    "pricing.basic.meta": "Até 5 colaboradores e 1 local de trabalho.",
1677    "pricing.basic.f1": "1 catálogo padrão de perguntas",
1678    "pricing.basic.f2": "LMRA e cockpit base",
1679    "pricing.basic.f3": "Arranque rápido sem complexidade adicional",
1680    "pricing.basic.note": "Ideal para primeiros locais ou equipas compactas.",
1681    "pricing.basicplus.desc": "Para equipas em crescimento.",
1682    "pricing.basicplus.variable": "+ 0,20 € por colaborador e por dia ativo",
1683    "pricing.basicplus.meta": "Até 25 colaboradores e até 5 locais de trabalho.",
1684    "pricing.basicplus.f1": "Até 5 catálogos com editor de perguntas",
1685    "pricing.basicplus.f2": "Função de acompanhamento externo",
1686    "pricing.basicplus.f3": "LMRA e cockpit completo",
1687    "pricing.basicplus.note": "Adequado para equipas com várias áreas ou localizações.",
1688    "pricing.pro.desc": "Para organizações em crescimento com necessidades avançadas de controlo.",
1689    "pricing.pro.variable": "+ 0,30 € por colaborador e por dia ativo",
1690    "pricing.pro.meta": "Colaboradores ilimitados, até 10 locais e 50 itens de trabalho.",
1691    "pricing.pro.f1": "Até 10 catálogos com editor de perguntas e apoio de IA",
1692    "pricing.pro.f2": "Cockpit avançado com necessidades de ação",
1693    "pricing.pro.f3": "Exportação Excel para análises e acompanhamento externo",
1694    "pricing.pro.note": "O melhor equilíbrio entre escala, visibilidade e rapidez.",
1695    "pricing.enterprise.desc": "Para máxima escala e controlo.",
1696    "pricing.enterprise.variable": "+ 0,40 € por colaborador e por dia ativo",
1697    "pricing.enterprise.meta": "Locais, itens de trabalho, catálogos e funções ilimitados.",
1698    "pricing.enterprise.f1": "Campanhas de segurança personalizadas e grupos de colaboradores",
1699    "pricing.enterprise.f2": "Gestão dinâmica de funções",
1700    "pricing.enterprise.f3": "Integração API total e exportação Excel",
1701    "pricing.enterprise.note": "Para empresas com estruturas complexas e necessidades de integração.",
1702
1703    "cta.eyebrow": "Pronto para começar",
1704    "cta.title": "Faça da segurança um <span class='italic'>padrão</span>. Não um <span class='accent'>acaso</span>.",
1705    "cta.sub": "Marque uma demo online de 20 minutos. Mostramos-lhe – nas suas próprias atividades – como o safeOS protege juridicamente a sua empresa. Sem compromisso. Sem pressão comercial.",
1706    "cta.btn1": "Registar agora",
1707    "cta.appstore.s": "Disponível na",
1708    "cta.appstore.b": "App Store",
1709    "cta.playstore.s": "Disponível no",
1710    "cta.playstore.b": "Google Play",
1711    "contact.eyebrow": "Contacto",
1712    "contact.title": "Escreva-nos diretamente. <span class='accent'>Responderemos rapidamente.</span>",
1713    "contact.sub": "Se tiver dúvidas sobre demonstração, implementação, proteção de dados ou parcerias, envie-nos uma mensagem. O seu pedido vai diretamente para a safeOS.",
1714    "contact.point1": "Resposta normalmente dentro de um dia útil",
1715    "contact.point2": "Ideal para pedidos de demonstração, retorno de chamada e conversas de parceria",
1716    "contact.point3": "Envio direto para [email protected]",
1717    "contact.directLabel": "Ou por e-mail:",
1718    "contact.name": "Nome",
1719    "contact.company": "Empresa",
1720    "contact.email": "E-mail",
1721    "contact.phone": "Telefone",
1722    "contact.message": "Mensagem",
1723    "contact.help": "Ao enviar, concorda que possamos usar os seus dados para tratar o seu pedido.",
1724    "contact.submit": "Enviar mensagem",
1725    "contact.sending": "A enviar mensagem...",
1726    "contact.success": "Obrigado. A sua mensagem foi enviada com sucesso.",
1727    "contact.error": "O envio falhou. Tente novamente ou escreva para [email protected].",
1728    "contact.validation": "Preencha nome, e-mail e mensagem.",
1729
1730    "footer.desc": "A plataforma SaaS para uma segurança no trabalho juridicamente sólida. Last Minute Risk Analysis para empresas de qualquer dimensão.",
1731    "footer.product": "Produto",
1732    "footer.howto": "Funcionamento",
1733    "footer.legal": "Conformidade",
1734    "footer.faq": "FAQ",
1735    "footer.install": "Instalar",
1736    "footer.company": "Empresa",
1737    "footer.demo": "Solicitar demo",
1738    "footer.contact": "Contacto",
1739    "footer.partner": "Tornar-se parceiro",
1740    "footer.legalCol": "Legal",
1741    "footer.imprint": "Aviso legal",
1742    "footer.privacy": "Privacidade",
1743    "footer.terms": "Termos",
1744    "footer.copy": "© 2026 safeOS · Last Minute Risk Analysis",
1745    "footer.made": "Made in Germany · Hosted in Germany"
1746  }
1747};
1748
1749const RISK_DETAILS = {
1750  de: {
1751    s1: {
1752      kicker: "180k · Zusammensetzung",
1753      title: "Wie sich die Kosten eines schweren Arbeitsunfalls zusammensetzen",
1754      body: `
1755        <p>Die Gesamtkosten eines Arbeitsunfalls folgen dem <strong>Eisberg-Prinzip</strong>: Sichtbare direkte Kosten sind nur die Spitze, die indirekten Kosten liegen oft um ein Mehrfaches darüber.</p>
1756        <div class="risk-modal-block">
1757          <div class="risk-modal-section-title">Direkte Kosten</div>
1758          <ul class="risk-modal-list">
1759            <li>Heilbehandlung, Reha, Transport und Medikamente</li>
1760            <li>Entgeltfortzahlung während der Arbeitsunfähigkeit</li>
1761            <li>Gegebenenfalls Rentenleistungen bei bleibendem Schaden</li>
1762          </ul>
1763        </div>
1764        <div class="risk-modal-block">
1765          <div class="risk-modal-section-title">Indirekte Kosten</div>
1766          <ul class="risk-modal-list">
1767            <li>Produktionsausfall, Lieferverzug und Vertragsstrafen</li>
1768            <li>Ersatzpersonal, Überstunden und Einarbeitung</li>
1769            <li>Sachschäden an Maschinen und Material</li>
1770            <li>Verwaltungsaufwand, Untersuchungen und Aufsichtsverfahren</li>
1771            <li>Beitragszuschläge der Berufsgenossenschaft</li>
1772            <li>Reputationsschaden</li>
1773          </ul>
1774        </div>
1775        <div class="risk-modal-source">Quelle: DGUV-Geschäftsergebnisse 2024</div>
1776      `
1777    },
1778    s2: {
1779      kicker: "30k · Zusammensetzung",
1780      title: "Wie sich das Bußgeldrisiko bei Pflichtverstößen zusammensetzt",
1781      body: `
1782        <p>Wer die Pflicht zur Gefährdungsbeurteilung vorsätzlich oder fahrlässig vernachlässigt, begeht eine <strong>Ordnungswidrigkeit</strong> nach dem Arbeitsschutzgesetz.</p>
1783        <div class="risk-modal-block">
1784          <div class="risk-modal-section-title">Wie sich die Haftung zusammensetzt</div>
1785          <ul class="risk-modal-list">
1786            <li><strong>§ 25 ArbSchG</strong>: Bußgeldrahmen bis 30.000 €</li>
1787            <li><strong>§ 9 OWiG</strong>: persönliche Zurechnung an Geschäftsführer, Vorstand oder Inhaber</li>
1788            <li><strong>Pro-Verstoß-Prinzip</strong>: mehrere Verstöße können sich summieren</li>
1789            <li><strong>§ 26 ArbSchG</strong>: bei beharrlicher Wiederholung oder konkreter Gefährdung ist eine strafrechtliche Eskalation möglich</li>
1790          </ul>
1791        </div>
1792        <div class="risk-modal-source">Quelle: § 25 ArbSchG, § 9 OWiG</div>
1793      `
1794    },
1795    s3: {
1796      kicker: "5y · Zusammensetzung",
1797      title: "Wann aus einem Arbeitsunfall ein strafrechtliches Risiko wird",
1798      body: `
1799        <p>Kommt durch einen vermeidbaren Arbeitsunfall ein Mensch zu Schaden, kann die Verantwortung des Unternehmers <strong>strafrechtlich</strong> werden.</p>
1800        <div class="risk-modal-block">
1801          <div class="risk-modal-section-title">Die einschlägigen Tatbestände</div>
1802          <ul class="risk-modal-list">
1803            <li><strong>§ 222 StGB – fahrlässige Tötung</strong>: Freiheitsstrafe bis zu fünf Jahren oder Geldstrafe</li>
1804            <li><strong>§ 229 StGB – fahrlässige Körperverletzung</strong>: Freiheitsstrafe bis zu drei Jahren oder Geldstrafe</li>
1805          </ul>
1806        </div>
1807        <p>Strafbar ist bereits <strong>Fahrlässigkeit</strong>
1807, also das Außerachtlassen der erforderlichen Sorgfalt, etwa bei einer unterlassenen oder mangelhaften Risikobeurteilung.</p>
1808        <div class="risk-modal-source">Quelle: § 222 StGB, § 229 StGB</div>
1809      `
1810    },
1811    s4: {
1812      kicker: "BG-Beitrag · Zusammensetzung",
1813      title: "Wie sich Beitragszuschläge der Berufsgenossenschaft zusammensetzen",
1814      body: `
1815        <p>Jede gewerbliche Berufsgenossenschaft ist verpflichtet, ein <strong>Beitragsausgleichsverfahren</strong> zu betreiben: unfallarme Betriebe erhalten Nachlässe, Betriebe mit überdurchschnittlich vielen oder schweren Unfällen zahlen Zuschläge.</p>
1816        <div class="risk-modal-block">
1817          <div class="risk-modal-section-title">So entsteht der Zuschlag</div>
1818          <ul class="risk-modal-list">
1819            <li>Rechtsgrundlage ist <strong>§ 162 SGB VII</strong>; die konkrete Höhe regelt die jeweilige BG-Satzung</li>
1820            <li>Berücksichtigt werden meldepflichtige Arbeitsunfälle</li>
1821            <li>Maßgeblich sind Zahl, Schwere und Kosten der Unfälle</li>
1822            <li>Der Zuschlag bezieht sich auf die Umlage nach Gefahrtarif und wirkt häufig mehrjährig nach</li>
1823          </ul>
1824        </div>
1825        <div class="risk-modal-source">Quelle: § 162 SGB VII</div>
1826      `
1827    }
1828  }
1829};
1830
1831/* ────────────────────────────────────────────────────────────────
1832   Language switcher
1833   ──────────────────────────────────────────────────────────────── */
1834const langSwitch = document.getElementById('langSwitch');
1835const langTrigger = langSwitch.querySelector('.lang-trigger');
1836const langCurrent = document.getElementById('langCurrent');
1837const langOptions = langSwitch.querySelectorAll('.lang-option');
1838
1839function setLanguage(lang) {
1840  if (!I18N[lang]) lang = 'de';
1841  document.documentElement.lang = lang;
1842  langCurrent.textContent = lang.toUpperCase();
1843
1844  const heroPreviewImage = document.getElementById('heroPreviewImage');
1845  if (heroPreviewImage) {
1846    const previewLang = lang === 'de' ? 'de' : 'en';
1847    heroPreviewImage.src = `./assets/preview-tablett-cockpit-${previewLang}.webp`;
1848  }
1849
1850  // text translations
1851  document.querySelectorAll('[data-i18n]').forEach(el => {
1852    const key = el.getAttribute('data-i18n');
1853    if (I18N[lang][key]) el.textContent = I18N[lang][key];
1854  });
1855  // html translations (for embedded spans)
1856  document.querySelectorAll('[data-i18n-html]').forEach(el => {
1857    const key = el.getAttribute('data-i18n-html');
1858    if (I18N[lang][key]) el.innerHTML = I18N[lang][key];
1859  });
1860
1861  // update active state
1862  langOptions.forEach(opt => {
1863    opt.setAttribute('aria-current', opt.dataset.lang === lang ? 'true' : 'false');
1864  });
1865
1866  const demoFrameWindow = document.getElementById('demoModalFrame')?.contentWindow;
1867  if (demoFrameWindow) {
1868    demoFrameWindow.postMessage({ type: 'safeos:set-language', lang }, window.location.origin);
1869  }
1870
1871  const contactStatus = document.getElementById('contactStatus');
1872  const contactSubmit = document.getElementById('contactSubmit');
1873  if (contactStatus?.dataset.state) {
1874    contactStatus.textContent = I18N[lang][`contact.${contactStatus.dataset.state}`] || "";
1875  }
1876  if (contactSubmit && !contactSubmit.disabled) {
1877    contactSubmit.textContent = I18N[lang]["contact.submit"];
1878  }
1879}
1880
1881langTrigger.addEventListener('click', (e) => {
1882  e.stopPropagation();
1883  langSwitch.classList.toggle('open');
1884  langTrigger.setAttribute('aria-expanded', langSwitch.classList.contains('open'));
1885});
1886
1887langOptions.forEach(opt => {
1888  opt.addEventListener('click', () => {
1889    setLanguage(opt.dataset.lang);
1890    langSwitch.classList.remove('open');
1891  });
1892});
1893
1894document.addEventListener('click', () => {
1895  langSwitch.classList.remove('open');
1896});
1897
1898function detectPreferredLanguage() {
1899  const candidates = Array.isArray(navigator.languages) && navigator.languages.length
1900    ? navigator.languages
1901    : [navigator.language || 'de'];
1902
1903  for (const candidate of candidates) {
1904    const normalized = String(candidate).slice(0, 2).toLowerCase();
1905    if (I18N[normalized]) return normalized;
1906  }
1907
1908  return 'de';
1909}
1910
1911setLanguage(detectPreferredLanguage());
1912
1913/* ────────────────────────────────────────────────────────────────
1914   Mobile menu
1915   ──────────────────────────────────────────────────────────────── */
1916const menuToggle = document.getElementById('menuToggle');
1917const navLinks = document.getElementById('navLinks');
1918menuToggle.addEventListener('click', () => {
1919  navLinks.classList.toggle('open');
1920  document.body.classList.toggle('nav-open', navLinks.classList.contains('open'));
1921});
1922navLinks.querySelectorAll('a').forEach(a => {
1923  a.addEventListener('click', () => {
1924    navLinks.classList.remove('open');
1925    document.body.classList.remove('nav-open');
1926  });
1927});
1928
1929/* ────────────────────────────────────────────────────────────────
1930   FAQ
1931   ──────────────────────────────────────────────────────────────── */
1932document.querySelectorAll('.faq-item').forEach(item => {
1933  item.querySelector('.faq-q').addEventListener('click', () => {
1934    item.classList.toggle('open');
1935  });
1936});
1937
1938/* ────────────────────────────────────────────────────────────────
1939   Reveal on scroll
1940   ──────────────────────────────────────────────────────────────── */
1941const observer = new IntersectionObserver((entries) => {
1942  entries.forEach(entry => {
1943    if (entry.isIntersecting) {
1944      const delay = parseInt(entry.target.dataset.delay) || 0;
1945      setTimeout(() => entry.target.classList.add('in'), delay);
1946      observer.unobserve(entry.target);
1947    }
1948  });
1949}, { threshold: 0.1, rootMargin: '0px 0px -50px 0px' });
1950
1951document.querySelectorAll('.reveal').forEach(el => observer.observe(el));
1952
1953/* ────────────────────────────────────────────────────────────────
1954   Demo modal
1955   ──────────────────────────────────────────────────────────────── */
1956const demoModal = document.getElementById('demoModal');
1957const demoModalFrame = document.getElementById('demoModalFrame');
1958const demoTriggers = document.querySelectorAll('[data-demo-trigger]');
1959const demoCloseControls = document.querySelectorAll('[data-demo-close]');
1960const pricingModal = document.getElementById('pricingModal');
1961const pricingOpenControls = document.querySelectorAll('[data-pricing-open]');
1962const pricingCloseControls = document.querySelectorAll('[data-pricing-close]');
1963const riskModal = document.getElementById('riskModal');
1964const riskOpenControls = document.querySelectorAll('[data-risk-open]');
1965const riskCloseControls = document.querySelectorAll('[data-risk-close]');
1966const riskModalKicker = document.getElementById('riskModalKicker');
1967const riskModalTitle = document.getElementById('riskModalTitle');
1968const riskModalBody = document.getElementById('riskModalBody');
1969let lastDemoTrigger = null;
1970let lastPricingTrigger = null;
1971let lastRiskTrigger = null;
1972let lastFocusedElement = null;
1973
1974function openDemoModal(trigger) {
1975  lastDemoTrigger = trigger || null;
1976  const href = trigger?.getAttribute('href') || '/app-mockup-demo';
1977  const separator = href.includes('?') ? '&' : '?';
1978  const src = `${href}${separator}embed=1&lang=${encodeURIComponent(document.documentElement.lang || 'de')}`;
1979  if (demoModalFrame.getAttribute('src') !== src) {
1980    demoModalFrame.setAttribute('src', src);
1981  }
1982  demoModal.classList.add('open');
1983  demoModal.setAttribute('aria-hidden', 'false');
1984  document.body.classList.add('modal-open');
1985  document.body.classList.add('demo-open');
1986}
1987
1988function closeDemoModal() {
1989  demoModal.classList.remove('open');
1990  demoModal.setAttribute('aria-hidden', 'true');
1991  document.body.classList.remove('modal-open');
1992  document.body.classList.remove('demo-open');
1993  demoModalFrame.removeAttribute('src');
1994  if (lastDemoTrigger) lastDemoTrigger.focus();
1995}
1996
1997function openPricingModal(trigger) {
1998  lastPricingTrigger = trigger || null;
1999  pricingModal.classList.add('open');
2000  pricingModal.setAttribute('aria-hidden', 'false');
2001  document.body.classList.add('modal-open');
2002}
2003
2004function closePricingModal() {
2005  pricingModal.classList.remove('open');
2006  pricingModal.setAttribute('aria-hidden', 'true');
2007  document.body.classList.remove('modal-open');
2008  if (lastPricingTrigger) lastPricingTrigger.focus();
2009}
2010
2011function getRiskDetails(id) {
2012  const lang = document.documentElement.lang in RISK_DETAILS ? document.documentElement.lang : 'de';
2013  return RISK_DETAILS[lang]?.[id] || RISK_DETAILS.de[id] || null;
2014}
2015
2016function openRiskModal(trigger) {
2017  const details = getRiskDetails(trigger?.dataset.riskOpen || '');
2018  if (!details) return;
2019
2020  lastRiskTrigger = trigger || null;
2021  lastFocusedElement = document.activeElement;
2022  riskModalKicker.textContent = details.kicker;
2023  riskModalTitle.textContent = details.title;
2024  riskModalBody.innerHTML = details.body;
2025  riskModal.classList.add('open');
2026  riskModal.setAttribute('aria-hidden', 'false');
2027  document.body.classList.add('modal-open');
2028  const focusTarget = riskModal.querySelector('[data-risk-close]');
2029  if (focusTarget) focusTarget.focus();
2030}
2031
2032function closeRiskModal() {
2033  riskModal.classList.remove('open');
2034  riskModal.setAttribute('aria-hidden', 'true');
2035  document.body.classList.remove('modal-open');
2036  riskModalBody.innerHTML = '';
2037  if (lastRiskTrigger) {
2038    lastRiskTrigger.focus();
2039  } else if (lastFocusedElement instanceof HTMLElement) {
2040    lastFocusedElement.focus();
2041  }
2042}
2043
2044demoTriggers.forEach(trigger => {
2045  trigger.addEventListener('click', (event) => {
2046    event.preventDefault();
2047    openDemoModal(trigger);
2048  });
2049});
2050
2051demoCloseControls.forEach(control => {
2052  control.addEventListener('click', closeDemoModal);
2053});
2054
2055pricingOpenControls.forEach(control => {
2056  control.addEventListener('click', (event) => {
2057    event.preventDefault();
2058    openPricingModal(control);
2059  });
2060});
2061
2062pricingCloseControls.forEach(control => {
2063  control.addEventListener('click', closePricingModal);
2064});
2065
2066riskOpenControls.forEach(control => {
2067  control.addEventListener('click', () => openRiskModal(control));
2068});
2069
2070riskCloseControls.forEach(control => {
2071  control.addEventListener('click', closeRiskModal);
2072});
2073
2074/* ────────────────────────────────────────────────────────────────
2075   Contact form
2076   ──────────────────────────────────────────────────────────────── */
2077const contactForm = document.getElementById('contactForm');
2078const contactSubmit = document.getElementById('contactSubmit');
2079const contactStatus = document.getElementById('contactStatus');
2080
2081function setContactStatus(state, lang) {
2082  if (!contactStatus) return;
2083  contactStatus.dataset.state = state || "";
2084  contactStatus.classList.remove('is-success', 'is-error');
2085
2086  if (!state) {
2087    contactStatus.textContent = "";
2088    return;
2089  }
2090
2091  if (state === 'success') contactStatus.classList.add('is-success');
2092  if (state === 'error' || state === 'validation') contactStatus.classList.add('is-error');
2093  contactStatus.textContent = I18N[lang]?.[`contact.${state}`] || "";
2094}
2095
2096if (contactForm) {
2097  contactForm.addEventListener('submit', async (event) => {
2098    event.preventDefault();
2099
2100    const lang = document.documentElement.lang in I18N ? document.documentElement.lang : 'de';
2101    const formData = new FormData(contactForm);
2102    const name = String(formData.get('name') || '').trim();
2103    const email = String(formData.get('email') || '').trim();
2104    const message = String(formData.get('message') || '').trim();
2105
2106    if (!name || !email || !message) {
2107      setContactStatus('validation', lang);
2108      return;
2109    }
2110
2111    contactSubmit.disabled = true;
2112    contactSubmit.textContent = I18N[lang]["contact.sending"];
2113    setContactStatus('', lang);
2114
2115    try {
2116      const response = await fetch(contactForm.action, {
2117        method: 'POST',
2118        body: formData,
2119        headers: {
2120          'Accept': 'application/json'
2121        }
2122      });
2123
2124      const payload = await response.json().catch(() => ({}));
2125      if (!response.ok || !payload.ok) {
2126        throw new Error(payload.error || 'request_failed');
2127      }
2128
2129      contactForm.reset();
2130      setContactStatus('success', lang);
2131    } catch (error) {
2132      setContactStatus('error', lang);
2133    } finally {
2134      contactSubmit.disabled = false;
2135      contactSubmit.textContent = I18N[lang]["contact.submit"];
2136    }
2137  });
2138}
2139
2140document.addEventListener('keydown', (event) => {
2141  if (event.key === 'Escape' && demoModal.classList.contains('open')) {
2142    closeDemoModal();
2143  }
2144  if (event.key === 'Escape' && pricingModal.classList.contains('open')) {
2145    closePricingModal();
2146  }
2147  if (event.key === 'Escape' && riskModal.classList.contains('open')) {
2148    closeRiskModal();
2149  }
2150  if (event.key === 'Tab' && riskModal.classList.contains('open')) {
2151    const focusable = riskModal.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
2152    if (!focusable.length) return;
2153
2154    const first = focusable[0];
2155    const last = focusable[focusable.length - 1];
2156
2157    if (event.shiftKey && document.activeElement === first) {
2158      event.preventDefault();
2159      last.focus();
2160    } else if (!event.shiftKey && document.activeElement === last) {
2161      event.preventDefault();
2162      first.focus();
2163    }
2164  }
2165});
2166</script>
2166
2167
2168</body>
2169</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.