-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
556 lines (531 loc) · 38.6 KB
/
Copy pathindex.html
File metadata and controls
556 lines (531 loc) · 38.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>EAGLE — Golf Shot Tracer</title>
<meta name="description" content="Dein Ballflug. Bewiesen. EAGLE erkennt den Ball, zeichnet den Flug und misst Carry & Apex — nur mit deinem Handy. Kein Radar, kein Sensor.">
<meta property="og:title" content="EAGLE — Golf Shot Tracer">
<meta property="og:description" content="Dein Ballflug. Bewiesen. Handy hinters Tee, abschlagen — EAGLE zeichnet den Flug.">
<meta property="og:type" content="website">
<link rel="icon" type="image/svg+xml" href="assets/app-icon.svg">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:ital,wght@0,400;0,500;0,700;0,800;0,900&display=swap" rel="stylesheet">
<style>
html{background:#0C1F14;scroll-behavior:smooth}
body{margin:0;background:#0C1F14;font-family:'Schibsted Grotesk',system-ui,sans-serif}
#lang{background:transparent;color:rgba(244,240,229,.7);border:1px solid rgba(244,240,229,.2);border-radius:10px;padding:8px 10px;font:700 13px 'Schibsted Grotesk',system-ui,sans-serif;cursor:pointer}
#lang option{background:#0C1F14;color:#F4F0E5}
@media (max-width:960px){
.hero{grid-template-columns:1fr!important;gap:48px!important;padding-top:40px!important;padding-bottom:56px!important}
.features{grid-template-columns:1fr!important;gap:40px!important}
.steps{grid-template-columns:1fr!important}
.plans{grid-template-columns:1fr!important}
}
@media (max-width:640px){
.wrap{width:calc(100% - 40px)!important;padding-left:20px!important;padding-right:20px!important}
.navlink{display:none!important}
}
</style>
</head>
<body>
<div style="min-height:100vh;background:#0C1F14;color:#F4F0E5;display:flex;flex-direction:column">
<!-- NAV -->
<nav class="wrap" style="display:flex;justify-content:space-between;align-items:center;padding:22px 48px;max-width:1200px;width:calc(100% - 96px);margin:0 auto">
<div style="display:flex;align-items:center;gap:11px"><img src="assets/logo-mark.svg" style="width:34px;height:34px" alt="EAGLE"><span style="font:900 22px 'Schibsted Grotesk'">EAGLE<span style="color:#E8442E">.</span></span></div>
<div style="display:flex;align-items:center;gap:28px">
<a class="navlink" data-i18n="navHow" href="#how" style="font:700 13px 'Schibsted Grotesk';color:rgba(244,240,229,.7);text-decoration:none">So funktioniert's</a>
<a class="navlink" data-i18n="navPricing" href="#pricing" style="font:700 13px 'Schibsted Grotesk';color:rgba(244,240,229,.7);text-decoration:none">Preise</a>
<select id="lang" aria-label="Sprache / Language">
<option value="de">DE</option>
<option value="en">EN</option>
<option value="fr">FR</option>
<option value="it">IT</option>
<option value="es">ES</option>
</select>
<a data-i18n="navCta" href="#download" style="font:800 13px 'Schibsted Grotesk';color:#0F2417;background:#F4F0E5;border-radius:10px;padding:10px 18px;text-decoration:none">App laden</a>
</div>
</nav>
<!-- HERO -->
<header class="wrap hero" style="max-width:1200px;width:calc(100% - 96px);margin:0 auto;padding:64px 48px 88px;display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center">
<div>
<div style="font:700 12px 'Schibsted Grotesk';letter-spacing:.24em;color:#E8442E">GOLF SHOT TRACER · IOS & ANDROID</div>
<h1 data-i18n="heroH1" style="font:900 clamp(48px,5vw,72px)/0.95 'Schibsted Grotesk';text-transform:uppercase;letter-spacing:-.01em;margin:20px 0 0">Dein Ballflug.<br>Bewiesen.</h1>
<p data-i18n="heroP" style="font:400 17px/1.6 'Schibsted Grotesk';color:rgba(244,240,229,.7);max-width:440px;margin:22px 0 0;text-wrap:pretty">Kein Radar, kein Sensor, kein Abo-Gerät. Stell dein Handy hinters Tee, schlag ab — EAGLE erkennt den Ball, zeichnet den Flug und misst Carry & Apex. Automatisch.</p>
<div style="display:flex;gap:12px;margin-top:32px;align-items:center">
<a data-i18n="heroCta1" href="#download" style="font:800 15px 'Schibsted Grotesk';color:#F4F0E5;background:#E8442E;border-radius:12px;padding:15px 26px;text-decoration:none">Gratis laden</a>
<a data-i18n="heroCta2" href="#how" style="font:700 15px 'Schibsted Grotesk';color:rgba(244,240,229,.7);padding:15px 10px;text-decoration:none">So funktioniert's →</a>
</div>
<div style="display:flex;gap:36px;margin-top:44px">
<div><div style="font:900 30px 'Schibsted Grotesk';font-variant-numeric:tabular-nums">240<span style="font-size:16px"> fps</span></div><div data-i18n="stat1" style="font:700 10px 'Schibsted Grotesk';letter-spacing:.14em;color:rgba(244,240,229,.45);margin-top:2px">SLO-MO-ERKENNUNG</div></div>
<div><div style="font:900 30px 'Schibsted Grotesk';font-variant-numeric:tabular-nums">10<span style="font-size:16px"> s</span></div><div data-i18n="stat2" style="font:700 10px 'Schibsted Grotesk';letter-spacing:.14em;color:rgba(244,240,229,.45);margin-top:2px">BIS ZUM TRACE</div></div>
<div><div style="font:900 30px 'Schibsted Grotesk';font-variant-numeric:tabular-nums">0<span style="font-size:16px"> €</span></div><div data-i18n="stat3" style="font:700 10px 'Schibsted Grotesk';letter-spacing:.14em;color:rgba(244,240,229,.45);margin-top:2px">EXTRA-HARDWARE</div></div>
</div>
</div>
<div style="display:flex;justify-content:center">
<div style="width:292px;height:600px;border-radius:42px;background:#000;border:1px solid rgba(244,240,229,.2);overflow:hidden;position:relative;box-shadow:0 24px 80px rgba(0,0,0,.55)">
<div style="position:absolute;inset:0;background:linear-gradient(180deg,#222a20 0%,#171d16 55%,#0d110c 100%)"></div>
<svg viewBox="0 0 292 600" style="position:absolute;inset:0;width:100%;height:100%"><line x1="0" y1="460" x2="292" y2="460" stroke="rgba(244,240,229,.15)"></line><path d="M40 460 Q150 60 266 300" fill="none" stroke="#F4F0E5" stroke-width="3" stroke-linecap="round"></path><circle cx="266" cy="300" r="5" fill="#E8442E"></circle></svg>
<div style="position:absolute;top:20px;left:0;right:0;display:flex;justify-content:center"><div style="background:rgba(12,31,20,.9);border-radius:999px;padding:7px 14px;display:flex;align-items:center;gap:6px;font:700 11px 'Schibsted Grotesk';color:#3DDC6A"><span style="width:6px;height:6px;border-radius:50%;background:#3DDC6A"></span><span data-i18n="phoneBadge">TRACE ERKANNT</span></div></div>
<div style="position:absolute;left:22px;bottom:26px">
<div style="font:700 9px 'Schibsted Grotesk';letter-spacing:.2em;color:#E8442E">DRIVER · 14:32</div>
<div style="display:flex;align-items:baseline;gap:7px;margin-top:5px"><span style="font:900 52px/1 'Schibsted Grotesk';font-variant-numeric:tabular-nums">238</span><span style="font:700 11px 'Schibsted Grotesk';letter-spacing:.12em;color:rgba(244,240,229,.55)">M CARRY</span></div>
</div>
</div>
</div>
</header>
<!-- HOW -->
<section id="how" style="background:#0F2417;padding:80px 0">
<div class="wrap" style="max-width:1200px;width:calc(100% - 96px);margin:0 auto;padding:0 48px">
<div data-i18n="howKicker" style="font:700 12px 'Schibsted Grotesk';letter-spacing:.24em;color:#E8442E">SO FUNKTIONIERT'S</div>
<h2 data-i18n="howH2" style="font:900 40px/1 'Schibsted Grotesk';text-transform:uppercase;margin:14px 0 0">Drei Schritte zum Trace</h2>
<div class="steps" style="display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px">
<div style="background:#122B1D;border-radius:16px;padding:30px 32px">
<div style="font:900 34px 'Schibsted Grotesk';color:#E8442E">1</div>
<div data-i18n="how1T" style="font:800 18px 'Schibsted Grotesk';margin-top:12px">Handy hinters Tee</div>
<p data-i18n="how1P" style="font:400 14px/1.6 'Schibsted Grotesk';color:rgba(244,240,229,.6);margin:8px 0 0">Stativ oder Golftasche, hüfthoch, 2–3 Meter hinter dem Ball — Blick down the line. Die Wasserwaage im Sucher zeigt dir, wann alles gerade ist.</p>
</div>
<div style="background:#122B1D;border-radius:16px;padding:30px 32px">
<div style="font:900 34px 'Schibsted Grotesk';color:#E8442E">2</div>
<div data-i18n="how2T" style="font:800 18px 'Schibsted Grotesk';margin-top:12px">Abschlagen</div>
<p data-i18n="how2P" style="font:400 14px/1.6 'Schibsted Grotesk';color:rgba(244,240,229,.6);margin:8px 0 0">Kein Knopfdruck pro Schlag: Die Wisdom-Engine hört den Treffmoment, erkennt den Ball im 240-fps-Video und verfolgt ihn bis zur Landung.</p>
</div>
<div style="background:#122B1D;border-radius:16px;padding:30px 32px">
<div style="font:900 34px 'Schibsted Grotesk';color:#E8442E">3</div>
<div data-i18n="how3T" style="font:800 18px 'Schibsted Grotesk';margin-top:12px">Trace ansehen & teilen</div>
<p data-i18n="how3P" style="font:400 14px/1.6 'Schibsted Grotesk';color:rgba(244,240,229,.6);margin:8px 0 0">Nach ~10 Sekunden: Video mit Trace-Linie, Carry und Apex. Als Clip oder Share-Card direkt in deine Story — oder in die Session-Statistik.</p>
</div>
</div>
</div>
</section>
<!-- FEATURES BAND -->
<section class="wrap features" style="max-width:1200px;width:calc(100% - 96px);margin:0 auto;padding:80px 48px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center">
<div style="background:#0F2417;border-radius:20px;padding:36px;background-image:radial-gradient(rgba(244,240,229,.06) 1.6px, transparent 1.6px);background-size:16px 16px">
<svg viewBox="0 0 460 260" style="width:100%;display:block"><line x1="0" y1="218" x2="460" y2="218" stroke="rgba(244,240,229,.18)"></line><path d="M30 218 Q200 -30 430 120" fill="none" stroke="#F4F0E5" stroke-width="3" stroke-linecap="round"></path><circle cx="430" cy="120" r="6" fill="#E8442E"></circle><circle cx="225" cy="42" r="12" fill="none" stroke="rgba(244,240,229,.35)" stroke-width="1.5" stroke-dasharray="3 4"></circle><text x="248" y="46" font-family="Schibsted Grotesk" font-weight="700" font-size="13" fill="rgba(244,240,229,.6)">APEX 31 m</text></svg>
</div>
<div>
<div data-i18n="featKicker" style="font:700 12px 'Schibsted Grotesk';letter-spacing:.24em;color:#E8442E">ZAHLEN STATT BAUCHGEFÜHL</div>
<h2 data-i18n="featH2" style="font:900 40px/1.05 'Schibsted Grotesk';text-transform:uppercase;margin:14px 0 0">Die Range wird dein Messlabor</h2>
<div style="display:flex;flex-direction:column;gap:16px;margin-top:28px">
<div style="display:flex;gap:14px"><span style="width:8px;height:8px;border-radius:50%;background:#E8442E;margin-top:7px;flex:none"></span><p data-i18n="feat1" style="font:400 15px/1.6 'Schibsted Grotesk';color:rgba(244,240,229,.7);margin:0"><strong style="color:#F4F0E5">Carry & Apex pro Schlag</strong> — echte Distanzen statt „gefühlt 220".</p></div>
<div style="display:flex;gap:14px"><span style="width:8px;height:8px;border-radius:50%;background:#E8442E;margin-top:7px;flex:none"></span><p data-i18n="feat2" style="font:400 15px/1.6 'Schibsted Grotesk';color:rgba(244,240,229,.7);margin:0"><strong style="color:#F4F0E5">Ø-Distanz je Schläger</strong> — deine Session-Statistik zeigt, was Driver, Eisen 7 & Co. wirklich fliegen.</p></div>
<div style="display:flex;gap:14px"><span style="width:8px;height:8px;border-radius:50%;background:#E8442E;margin-top:7px;flex:none"></span><p data-i18n="feat3" style="font:400 15px/1.6 'Schibsted Grotesk';color:rgba(244,240,229,.7);margin:0"><strong style="color:#F4F0E5">Rekorde & Share-Cards</strong> — der 250-Meter-Drive gehört bewiesen, nicht behauptet.</p></div>
</div>
</div>
</section>
<!-- PRICING -->
<section id="pricing" style="background:#0F2417;padding:80px 0">
<div class="wrap" style="max-width:1200px;width:calc(100% - 96px);margin:0 auto;padding:0 48px">
<div data-i18n="priceKicker" style="font:700 12px 'Schibsted Grotesk';letter-spacing:.24em;color:#E8442E">PREISE</div>
<h2 data-i18n="priceH2" style="font:900 40px/1 'Schibsted Grotesk';text-transform:uppercase;margin:14px 0 0">Wähl deinen Flug</h2>
<div class="plans" style="display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px;max-width:820px">
<div style="background:#122B1D;border:1px solid rgba(244,240,229,.14);border-radius:20px;padding:34px 36px">
<div style="font:800 20px 'Schibsted Grotesk'">BirdieChase</div>
<div style="display:flex;align-items:baseline;gap:6px;margin-top:10px"><span style="font:900 40px 'Schibsted Grotesk'">0 €</span></div>
<div data-i18n="freeSub" style="font:400 13px 'Schibsted Grotesk';color:rgba(244,240,229,.5);margin-top:2px">Für den Einstieg</div>
<div style="display:flex;flex-direction:column;gap:10px;margin-top:22px;font:400 14px/1.5 'Schibsted Grotesk';color:rgba(244,240,229,.7)">
<div data-i18n="freeF1">5 Traces pro Woche</div>
<div data-i18n="freeF2">120-fps-Erkennung</div>
<div data-i18n="freeF3">Export mit Watermark</div>
</div>
<a data-i18n="freeCta" href="#download" style="display:block;text-align:center;font:800 14px 'Schibsted Grotesk';color:#F4F0E5;background:rgba(244,240,229,.08);border-radius:12px;padding:13px;margin-top:26px;text-decoration:none">Kostenlos starten</a>
</div>
<div style="background:#1A3A26;border:1.5px solid #D9A62E;border-radius:20px;padding:34px 36px;position:relative">
<div data-i18n="proBadge" style="position:absolute;top:-12px;right:24px;background:#D9A62E;border-radius:999px;padding:5px 12px;font:800 10px 'Schibsted Grotesk';letter-spacing:.1em;color:#0F2417">7 TAGE GRATIS</div>
<div style="font:800 20px 'Schibsted Grotesk'">EagleTrace</div>
<div style="display:flex;align-items:baseline;gap:6px;margin-top:10px"><span style="font:900 40px 'Schibsted Grotesk';color:#D9A62E">9,99 €</span><span data-i18n="proPer" style="font:700 13px 'Schibsted Grotesk';color:rgba(244,240,229,.5)">/ Monat</span></div>
<div data-i18n="proSub" style="font:400 13px 'Schibsted Grotesk';color:rgba(244,240,229,.5);margin-top:2px">Für alle, die es wissen wollen</div>
<div style="display:flex;flex-direction:column;gap:10px;margin-top:22px;font:400 14px/1.5 'Schibsted Grotesk';color:rgba(244,240,229,.85)">
<div data-i18n="proF1">Unbegrenzte Traces · 240 fps</div>
<div data-i18n="proF2">Export ohne Watermark · Share-Cards</div>
<div data-i18n="proF3">Stats, Rekorde & Schläger-Vergleich</div>
</div>
<a data-i18n="proCta" href="#download" style="display:block;text-align:center;font:800 14px 'Schibsted Grotesk';color:#F4F0E5;background:#E8442E;border-radius:12px;padding:13px;margin-top:26px;text-decoration:none">Gratis testen</a>
</div>
</div>
<div data-i18n="priceNote" style="font:400 12px 'Schibsted Grotesk';color:rgba(244,240,229,.4);margin-top:16px">Preise & Feature-Aufteilung sind Platzhalter — final nach Abo-Definition.</div>
</div>
</section>
<!-- WAITLIST / WARTELISTE -->
<section id="waitlist" style="padding:88px 0;background:#0C1F14">
<div class="wrap" style="max-width:1200px;width:calc(100% - 96px);margin:0 auto;padding:0 48px">
<div style="max-width:720px;margin:0 auto;background:#0F2417;border:1px solid rgba(244,240,229,.14);border-radius:24px;padding:52px 48px;text-align:center;background-image:radial-gradient(rgba(244,240,229,.05) 1.6px,transparent 1.6px);background-size:16px 16px">
<div data-i18n="waitKicker" style="font:700 12px 'Schibsted Grotesk';letter-spacing:.24em;color:#E8442E">WARTELISTE · VOR DEM LAUNCH</div>
<h2 data-i18n="waitH2" style="font:900 clamp(30px,3.4vw,46px)/1.02 'Schibsted Grotesk';text-transform:uppercase;letter-spacing:-.01em;margin:14px 0 0">Filmen. Fertig.<br>Der Trace kommt von selbst.</h2>
<p data-i18n="waitP" style="font:400 16px/1.6 'Schibsted Grotesk';color:rgba(244,240,229,.7);max-width:460px;margin:18px auto 0;text-wrap:pretty">EAGLE ist fast startklar. Trag dich ein und sei unter den Ersten, die den automatischen Tracer testen — wir melden uns nur einmal: zum Start.</p>
<form id="wlForm" novalidate style="display:flex;gap:10px;max-width:480px;margin:30px auto 0;flex-wrap:wrap;justify-content:center">
<label for="wlEmail" data-i18n="waitLabel" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0">E-Mail-Adresse</label>
<input id="wlEmail" type="email" name="email" required autocomplete="email" inputmode="email" data-i18n-ph="waitPh" placeholder="deine@email.de" style="flex:1 1 220px;min-width:0;background:rgba(244,240,229,.06);border:1px solid rgba(244,240,229,.24);border-radius:12px;padding:15px 16px;color:#F4F0E5;font:400 15px 'Schibsted Grotesk';outline:none">
<input type="text" name="_gotcha" tabindex="-1" aria-hidden="true" autocomplete="off" style="position:absolute;left:-9999px;opacity:0;height:0;width:0">
<button type="submit" id="wlBtn" data-i18n="waitBtn" style="flex:0 0 auto;font:800 15px 'Schibsted Grotesk';color:#F4F0E5;background:#E8442E;border:none;border-radius:12px;padding:15px 26px;cursor:pointer">Auf die Warteliste</button>
</form>
<div id="wlStatus" role="status" aria-live="polite" style="font:600 13px 'Schibsted Grotesk';margin-top:12px;min-height:18px"></div>
<div id="wlThanks" hidden style="margin:30px auto 0;max-width:460px">
<div style="width:56px;height:56px;border-radius:50%;background:rgba(61,220,106,.14);display:flex;align-items:center;justify-content:center;margin:0 auto">
<svg viewBox="0 0 24 24" width="26" height="26" fill="none" stroke="#3DDC6A" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"></path></svg>
</div>
<h3 data-i18n="waitThanksT" style="font:900 24px 'Schibsted Grotesk';text-transform:uppercase;margin:16px 0 0">Du bist dabei.</h3>
<p data-i18n="waitThanksP" style="font:400 15px/1.6 'Schibsted Grotesk';color:rgba(244,240,229,.7);margin:8px 0 0">Wir melden uns, sobald EAGLE startet. Bis dahin: gut schlagen. ⛳</p>
</div>
<p id="wlPrivacy" data-i18n="waitPrivacy" style="font:400 12px/1.5 'Schibsted Grotesk';color:rgba(244,240,229,.4);margin:18px auto 0;max-width:440px">Nur für die Start-Info. Keine Weitergabe, kein Spam, jederzeit abbestellbar.</p>
</div>
</div>
</section>
<!-- CTA / FOOTER -->
<section id="download" class="wrap" style="max-width:1200px;width:calc(100% - 96px);margin:0 auto;padding:96px 48px;text-align:center">
<img src="assets/logo-mark.svg" style="width:64px;height:64px" alt="">
<h2 data-i18n="dlH2" style="font:900 clamp(36px,4vw,56px)/1 'Schibsted Grotesk';text-transform:uppercase;margin:24px 0 0">Der nächste Schlag<br>wird gezeichnet.</h2>
<div style="display:flex;justify-content:center;margin-top:32px">
<div style="display:inline-flex;align-items:center;gap:10px;background:rgba(244,240,229,.06);border:1px solid rgba(244,240,229,.2);border-radius:999px;padding:15px 30px"><span style="width:8px;height:8px;border-radius:50%;background:#E8442E;flex:none"></span><span style="font:800 13px 'Schibsted Grotesk';letter-spacing:.24em;color:#F4F0E5">COMING SOON</span></div>
</div>
<div data-i18n="footer" style="font:700 10px 'Schibsted Grotesk';letter-spacing:.24em;color:rgba(244,240,229,.35);margin-top:64px">EAGLE · POWERED BY WISDOM DETECTION · IMPRESSUM · DATENSCHUTZ</div>
</section>
</div>
<script>
var I18N = {
de: {
navHow: "So funktioniert's",
navPricing: "Preise",
navCta: "App laden",
heroH1: "Dein Ballflug.<br>Bewiesen.",
heroP: "Kein Radar, kein Sensor, kein Abo-Gerät. Stell dein Handy hinters Tee, schlag ab — EAGLE erkennt den Ball, zeichnet den Flug und misst Carry & Apex. Automatisch.",
heroCta1: "Gratis laden",
heroCta2: "So funktioniert's →",
stat1: "SLO-MO-ERKENNUNG",
stat2: "BIS ZUM TRACE",
stat3: "EXTRA-HARDWARE",
phoneBadge: "TRACE ERKANNT",
howKicker: "SO FUNKTIONIERT'S",
howH2: "Drei Schritte zum Trace",
how1T: "Handy hinters Tee",
how1P: "Stativ oder Golftasche, hüfthoch, 2–3 Meter hinter dem Ball — Blick down the line. Die Wasserwaage im Sucher zeigt dir, wann alles gerade ist.",
how2T: "Abschlagen",
how2P: "Kein Knopfdruck pro Schlag: Die Wisdom-Engine hört den Treffmoment, erkennt den Ball im 240-fps-Video und verfolgt ihn bis zur Landung.",
how3T: "Trace ansehen & teilen",
how3P: "Nach ~10 Sekunden: Video mit Trace-Linie, Carry und Apex. Als Clip oder Share-Card direkt in deine Story — oder in die Session-Statistik.",
featKicker: "ZAHLEN STATT BAUCHGEFÜHL",
featH2: "Die Range wird dein Messlabor",
feat1: "<strong style=\"color:#F4F0E5\">Carry & Apex pro Schlag</strong> — echte Distanzen statt „gefühlt 220“.",
feat2: "<strong style=\"color:#F4F0E5\">Ø-Distanz je Schläger</strong> — deine Session-Statistik zeigt, was Driver, Eisen 7 & Co. wirklich fliegen.",
feat3: "<strong style=\"color:#F4F0E5\">Rekorde & Share-Cards</strong> — der 250-Meter-Drive gehört bewiesen, nicht behauptet.",
priceKicker: "PREISE",
priceH2: "Wähl deinen Flug",
freeSub: "Für den Einstieg",
freeF1: "5 Traces pro Woche",
freeF2: "120-fps-Erkennung",
freeF3: "Export mit Watermark",
freeCta: "Kostenlos starten",
proBadge: "7 TAGE GRATIS",
proPer: "/ Monat",
proSub: "Für alle, die es wissen wollen",
proF1: "Unbegrenzte Traces · 240 fps",
proF2: "Export ohne Watermark · Share-Cards",
proF3: "Stats, Rekorde & Schläger-Vergleich",
proCta: "Gratis testen",
priceNote: "Preise & Feature-Aufteilung sind Platzhalter — final nach Abo-Definition.",
dlH2: "Der nächste Schlag<br>wird gezeichnet.",
waitKicker: "WARTELISTE · VOR DEM LAUNCH",
waitH2: "Filmen. Fertig.<br>Der Trace kommt von selbst.",
waitP: "EAGLE ist fast startklar. Trag dich ein und sei unter den Ersten, die den automatischen Tracer testen — wir melden uns nur einmal: zum Start.",
waitLabel: "E-Mail-Adresse",
waitPh: "deine@email.de",
waitBtn: "Auf die Warteliste",
waitThanksT: "Du bist dabei.",
waitThanksP: "Wir melden uns, sobald EAGLE startet. Bis dahin: gut schlagen. ⛳",
waitPrivacy: "Nur für die Start-Info. Keine Weitergabe, kein Spam, jederzeit abbestellbar.",
waitErr: "Bitte gib eine gültige E-Mail-Adresse ein.",
waitErr2: "Hat gerade nicht geklappt — bitte später nochmal.",
footer: "EAGLE · POWERED BY WISDOM DETECTION · IMPRESSUM · DATENSCHUTZ"
},
en: {
navHow: "How it works",
navPricing: "Pricing",
navCta: "Get the app",
heroH1: "Your ball flight.<br>Proven.",
heroP: "No radar, no sensor, no subscription gadget. Put your phone behind the tee, hit — EAGLE detects the ball, draws the flight and measures carry & apex. Automatically.",
heroCta1: "Download free",
heroCta2: "How it works →",
stat1: "SLO-MO DETECTION",
stat2: "TO YOUR TRACE",
stat3: "EXTRA HARDWARE",
phoneBadge: "TRACE DETECTED",
howKicker: "HOW IT WORKS",
howH2: "Three steps to your trace",
how1T: "Phone behind the tee",
how1P: "Tripod or golf bag, hip height, 2–3 meters behind the ball — looking down the line. The level in the viewfinder shows you when everything is straight.",
how2T: "Hit your shot",
how2P: "No button press per shot: the Wisdom engine hears the moment of impact, detects the ball in the 240 fps video and tracks it to landing.",
how3T: "Watch & share your trace",
how3P: "After ~10 seconds: video with trace line, carry and apex. As a clip or share card straight to your story — or into your session stats.",
featKicker: "NUMBERS, NOT GUT FEELING",
featH2: "The range becomes your data lab",
feat1: "<strong style=\"color:#F4F0E5\">Carry & apex per shot</strong> — real distances instead of “felt like 220”.",
feat2: "<strong style=\"color:#F4F0E5\">Average distance per club</strong> — your session stats show what your driver, 7 iron & co. really fly.",
feat3: "<strong style=\"color:#F4F0E5\">Records & share cards</strong> — a 250-meter drive should be proven, not claimed.",
priceKicker: "PRICING",
priceH2: "Choose your flight",
freeSub: "To get started",
freeF1: "5 traces per week",
freeF2: "120 fps detection",
freeF3: "Export with watermark",
freeCta: "Start for free",
proBadge: "7 DAYS FREE",
proPer: "/ month",
proSub: "For those who want to know",
proF1: "Unlimited traces · 240 fps",
proF2: "No watermark · share cards",
proF3: "Stats, records & club comparison",
proCta: "Try it free",
priceNote: "Prices & feature split are placeholders — final once subscriptions are defined.",
dlH2: "Your next shot<br>gets traced.",
waitKicker: "WAITLIST · BEFORE LAUNCH",
waitH2: "Just film it.<br>The trace draws itself.",
waitP: "EAGLE is almost ready. Sign up and be among the first to test the automatic tracer — we'll email you just once: at launch.",
waitLabel: "Email address",
waitPh: "you@email.com",
waitBtn: "Join the waitlist",
waitThanksT: "You're on the list.",
waitThanksP: "We'll be in touch the moment EAGLE launches. Until then: hit 'em well. ⛳",
waitPrivacy: "Only for the launch note. No sharing, no spam, unsubscribe anytime.",
waitErr: "Please enter a valid email address.",
waitErr2: "That didn't work just now — please try again later.",
footer: "EAGLE · POWERED BY WISDOM DETECTION · LEGAL NOTICE · PRIVACY"
},
fr: {
navHow: "Comment ça marche",
navPricing: "Tarifs",
navCta: "Télécharger",
heroH1: "Ta trajectoire.<br>Prouvée.",
heroP: "Pas de radar, pas de capteur, pas d'appareil à abonnement. Pose ton téléphone derrière le tee, frappe — EAGLE détecte la balle, trace le vol et mesure carry & apex. Automatiquement.",
heroCta1: "Télécharger gratuitement",
heroCta2: "Comment ça marche →",
stat1: "DÉTECTION SLO-MO",
stat2: "JUSQU'AU TRACÉ",
stat3: "MATÉRIEL EN PLUS",
phoneBadge: "TRACÉ DÉTECTÉ",
howKicker: "COMMENT ÇA MARCHE",
howH2: "Trois étapes jusqu'au tracé",
how1T: "Le téléphone derrière le tee",
how1P: "Trépied ou sac de golf, à hauteur de hanche, 2–3 mètres derrière la balle — vue down the line. Le niveau dans le viseur te montre quand tout est droit.",
how2T: "Frappe",
how2P: "Aucun bouton à presser : le moteur Wisdom entend l'impact, détecte la balle dans la vidéo 240 fps et la suit jusqu'à l'atterrissage.",
how3T: "Regarde & partage ton tracé",
how3P: "Après ~10 secondes : la vidéo avec le tracé, le carry et l'apex. En clip ou en share card direct dans ta story — ou dans tes stats de session.",
featKicker: "DES CHIFFRES, PAS DU FEELING",
featH2: "Le practice devient ton labo de mesure",
feat1: "<strong style=\"color:#F4F0E5\">Carry & apex à chaque coup</strong> — de vraies distances au lieu de « 220 au feeling ».",
feat2: "<strong style=\"color:#F4F0E5\">Distance moyenne par club</strong> — tes stats de session montrent ce que volent vraiment ton driver, ton fer 7 & co.",
feat3: "<strong style=\"color:#F4F0E5\">Records & share cards</strong> — un drive de 250 mètres, ça se prouve, ça ne s'affirme pas.",
priceKicker: "TARIFS",
priceH2: "Choisis ton vol",
freeSub: "Pour commencer",
freeF1: "5 tracés par semaine",
freeF2: "Détection 120 fps",
freeF3: "Export avec filigrane",
freeCta: "Commencer gratuitement",
proBadge: "7 JOURS GRATUITS",
proPer: "/ mois",
proSub: "Pour ceux qui veulent savoir",
proF1: "Tracés illimités · 240 fps",
proF2: "Export sans filigrane · share cards",
proF3: "Stats, records & comparaison de clubs",
proCta: "Essayer gratuitement",
priceNote: "Prix & répartition des fonctionnalités provisoires — finalisés après définition des abonnements.",
dlH2: "Ton prochain coup<br>sera tracé.",
waitKicker: "LISTE D'ATTENTE · AVANT LE LANCEMENT",
waitH2: "Filme, c'est tout.<br>Le tracé se dessine seul.",
waitP: "EAGLE est presque prêt. Inscris-toi et sois parmi les premiers à tester le tracé automatique — on t'écrit une seule fois : au lancement.",
waitLabel: "Adresse e-mail",
waitPh: "toi@email.com",
waitBtn: "Rejoindre la liste",
waitThanksT: "Tu es sur la liste.",
waitThanksP: "On te contacte dès qu'EAGLE sort. D'ici là : joue bien. ⛳",
waitPrivacy: "Uniquement pour l'info de lancement. Aucun partage, aucun spam, désinscription à tout moment.",
waitErr: "Merci d'entrer une adresse e-mail valide.",
waitErr2: "Ça n'a pas marché — réessaie plus tard.",
footer: "EAGLE · POWERED BY WISDOM DETECTION · MENTIONS LÉGALES · CONFIDENTIALITÉ"
},
it: {
navHow: "Come funziona",
navPricing: "Prezzi",
navCta: "Scarica l'app",
heroH1: "La tua traiettoria.<br>Dimostrata.",
heroP: "Niente radar, niente sensori, niente dispositivi in abbonamento. Metti il telefono dietro il tee, colpisci — EAGLE riconosce la palla, disegna il volo e misura carry e apex. Automaticamente.",
heroCta1: "Scarica gratis",
heroCta2: "Come funziona →",
stat1: "RILEVAMENTO SLO-MO",
stat2: "AL TUO TRACE",
stat3: "HARDWARE EXTRA",
phoneBadge: "TRACE RILEVATO",
howKicker: "COME FUNZIONA",
howH2: "Tre passi per il tuo trace",
how1T: "Telefono dietro il tee",
how1P: "Treppiede o sacca, all'altezza dei fianchi, 2–3 metri dietro la palla — vista down the line. La livella nel mirino ti mostra quando è tutto dritto.",
how2T: "Colpisci",
how2P: "Nessun tasto da premere: il motore Wisdom sente l'impatto, riconosce la palla nel video a 240 fps e la segue fino all'atterraggio.",
how3T: "Guarda e condividi il trace",
how3P: "Dopo ~10 secondi: video con linea del trace, carry e apex. Come clip o share card dritto nella tua story — o nelle statistiche di sessione.",
featKicker: "NUMERI, NON SENSAZIONI",
featH2: "Il campo pratica diventa il tuo laboratorio",
feat1: "<strong style=\"color:#F4F0E5\">Carry e apex per ogni colpo</strong> — distanze reali invece di “220 a sensazione”.",
feat2: "<strong style=\"color:#F4F0E5\">Distanza media per bastone</strong> — le statistiche mostrano quanto volano davvero driver, ferro 7 & co.",
feat3: "<strong style=\"color:#F4F0E5\">Record e share card</strong> — un drive da 250 metri va dimostrato, non raccontato.",
priceKicker: "PREZZI",
priceH2: "Scegli il tuo volo",
freeSub: "Per iniziare",
freeF1: "5 trace a settimana",
freeF2: "Rilevamento a 120 fps",
freeF3: "Export con watermark",
freeCta: "Inizia gratis",
proBadge: "7 GIORNI GRATIS",
proPer: "/ mese",
proSub: "Per chi vuole saperlo davvero",
proF1: "Trace illimitati · 240 fps",
proF2: "Export senza watermark · share card",
proF3: "Statistiche, record e confronto bastoni",
proCta: "Prova gratis",
priceNote: "Prezzi e funzionalità sono segnaposto — definitivi dopo la definizione degli abbonamenti.",
dlH2: "Il prossimo colpo<br>verrà tracciato.",
waitKicker: "LISTA D'ATTESA · PRIMA DEL LANCIO",
waitH2: "Basta filmare.<br>Il trace si disegna da solo.",
waitP: "EAGLE è quasi pronto. Iscriviti e sii tra i primi a provare il tracer automatico — ti scriviamo una sola volta: al lancio.",
waitLabel: "Indirizzo e-mail",
waitPh: "tua@email.com",
waitBtn: "Iscriviti alla lista",
waitThanksT: "Sei in lista.",
waitThanksP: "Ti scriviamo appena EAGLE parte. Fino ad allora: buoni colpi. ⛳",
waitPrivacy: "Solo per l'avviso di lancio. Nessuna condivisione, nessuno spam, disiscrizione quando vuoi.",
waitErr: "Inserisci un indirizzo e-mail valido.",
waitErr2: "Non ha funzionato — riprova più tardi.",
footer: "EAGLE · POWERED BY WISDOM DETECTION · NOTE LEGALI · PRIVACY"
},
es: {
navHow: "Cómo funciona",
navPricing: "Precios",
navCta: "Descargar",
heroH1: "Tu trayectoria.<br>Demostrada.",
heroP: "Sin radar, sin sensores, sin aparatos de suscripción. Coloca tu móvil detrás del tee, golpea — EAGLE detecta la bola, dibuja el vuelo y mide carry y apex. Automáticamente.",
heroCta1: "Descarga gratis",
heroCta2: "Cómo funciona →",
stat1: "DETECCIÓN SLO-MO",
stat2: "HASTA EL TRACE",
stat3: "HARDWARE EXTRA",
phoneBadge: "TRACE DETECTADO",
howKicker: "CÓMO FUNCIONA",
howH2: "Tres pasos hasta tu trace",
how1T: "El móvil detrás del tee",
how1P: "Trípode o bolsa de golf, a la altura de la cadera, 2–3 metros detrás de la bola — vista down the line. El nivel en el visor te muestra cuándo todo está recto.",
how2T: "Golpea",
how2P: "Sin pulsar botones: el motor Wisdom oye el impacto, detecta la bola en el vídeo a 240 fps y la sigue hasta el aterrizaje.",
how3T: "Mira y comparte tu trace",
how3P: "Tras ~10 segundos: vídeo con la línea del trace, carry y apex. Como clip o share card directo a tu story — o a las estadísticas de tu sesión.",
featKicker: "NÚMEROS, NO SENSACIONES",
featH2: "El campo de prácticas, tu laboratorio",
feat1: "<strong style=\"color:#F4F0E5\">Carry y apex por golpe</strong> — distancias reales en vez de “unos 220”.",
feat2: "<strong style=\"color:#F4F0E5\">Distancia media por palo</strong> — tus estadísticas muestran lo que vuelan de verdad tu driver, el hierro 7 y compañía.",
feat3: "<strong style=\"color:#F4F0E5\">Récords y share cards</strong> — un drive de 250 metros se demuestra, no se cuenta.",
priceKicker: "PRECIOS",
priceH2: "Elige tu vuelo",
freeSub: "Para empezar",
freeF1: "5 traces por semana",
freeF2: "Detección a 120 fps",
freeF3: "Exportación con marca de agua",
freeCta: "Empieza gratis",
proBadge: "7 DÍAS GRATIS",
proPer: "/ mes",
proSub: "Para los que quieren saberlo",
proF1: "Traces ilimitados · 240 fps",
proF2: "Sin marca de agua · share cards",
proF3: "Estadísticas, récords y comparación de palos",
proCta: "Pruébalo gratis",
priceNote: "Precios y reparto de funciones son provisionales — se fijarán al definir las suscripciones.",
dlH2: "Tu próximo golpe<br>quedará trazado.",
waitKicker: "LISTA DE ESPERA · ANTES DEL LANZAMIENTO",
waitH2: "Solo graba.<br>El trace se dibuja solo.",
waitP: "EAGLE está casi listo. Apúntate y sé de los primeros en probar el trazado automático — te escribimos una sola vez: en el lanzamiento.",
waitLabel: "Correo electrónico",
waitPh: "tu@email.com",
waitBtn: "Unirme a la lista",
waitThanksT: "Estás en la lista.",
waitThanksP: "Te escribimos en cuanto EAGLE se lance. Hasta entonces: buenos golpes. ⛳",
waitPrivacy: "Solo para el aviso de lanzamiento. Sin compartir, sin spam, puedes darte de baja cuando quieras.",
waitErr: "Introduce un correo electrónico válido.",
waitErr2: "No funcionó — inténtalo más tarde.",
footer: "EAGLE · POWERED BY WISDOM DETECTION · AVISO LEGAL · PRIVACIDAD"
}
};
function setLang(lang) {
var dict = I18N[lang] || I18N.de;
document.querySelectorAll('[data-i18n]').forEach(function (el) {
var t = dict[el.getAttribute('data-i18n')];
if (t != null) el.innerHTML = t;
});
document.querySelectorAll('[data-i18n-ph]').forEach(function (el) {
var t = dict[el.getAttribute('data-i18n-ph')];
if (t != null) el.setAttribute('placeholder', t);
});
document.documentElement.lang = lang;
document.getElementById('lang').value = lang;
try { localStorage.setItem('eagle-lang', lang); } catch (e) {}
}
(function () {
var lang;
try { lang = localStorage.getItem('eagle-lang'); } catch (e) {}
if (!lang || !I18N[lang]) {
var nav = (navigator.language || 'de').slice(0, 2).toLowerCase();
lang = I18N[nav] ? nav : 'de';
}
if (lang !== 'de') setLang(lang); else document.getElementById('lang').value = 'de';
document.getElementById('lang').addEventListener('change', function (e) { setLang(e.target.value); });
})();
/* ============================================================
WARTELISTE — dienst-agnostisches Formular
Nach der Dienst-Wahl NUR diese eine Konstante ersetzen.
Erwartet: Endpoint akzeptiert POST (FormData, Feld "email")
und antwortet auf "Accept: application/json" mit 2xx.
Passt out-of-the-box zu Formspree; Buttondown/Apps-Script
siehe WAITLIST_BACKEND_ENTSCHEIDUNG.md.
============================================================ */
(function () {
var WAITLIST_ENDPOINT = "REPLACE_WITH_FORM_ENDPOINT"; // z.B. "https://formspree.io/f/xxxxxxxx"
var form = document.getElementById('wlForm');
if (!form) return;
var input = document.getElementById('wlEmail');
var btn = document.getElementById('wlBtn');
var status = document.getElementById('wlStatus');
var thanks = document.getElementById('wlThanks');
var privacy = document.getElementById('wlPrivacy');
function t(key, fallback) {
var l = 'de';
try { l = localStorage.getItem('eagle-lang') || document.documentElement.lang || 'de'; } catch (e) {}
return (I18N[l] && I18N[l][key]) || (I18N.de && I18N.de[key]) || fallback;
}
function say(txt, ok) { status.textContent = txt; status.style.color = ok ? '#3DDC6A' : '#E8442E'; }
function succeed() { form.hidden = true; status.textContent = ''; if (privacy) privacy.hidden = true; thanks.hidden = false; }
form.addEventListener('submit', function (e) {
e.preventDefault();
var email = (input.value || '').trim();
if (!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(email)) { say(t('waitErr', 'Bitte gültige E-Mail eingeben.'), false); input.focus(); return; }
say('', true);
var orig = btn.textContent;
btn.disabled = true; btn.textContent = '…';
// Kein Endpoint gesetzt -> Demo-Modus (zeigt Danke-Zustand, sendet nichts).
if (!WAITLIST_ENDPOINT || WAITLIST_ENDPOINT === 'REPLACE_WITH_FORM_ENDPOINT') {
console.warn('[EAGLE Warteliste] Demo-Modus: kein Endpoint gesetzt. Trag die Dienst-URL in WAITLIST_ENDPOINT ein (siehe WAITLIST_BACKEND_ENTSCHEIDUNG.md).');
setTimeout(succeed, 350);
return;
}
fetch(WAITLIST_ENDPOINT, { method: 'POST', headers: { 'Accept': 'application/json' }, body: new FormData(form) })
.then(function (r) {
if (r.ok) { succeed(); }
else { btn.disabled = false; btn.textContent = orig; say(t('waitErr2', 'Hat nicht geklappt — später nochmal.'), false); }
})
.catch(function () {
btn.disabled = false; btn.textContent = orig; say(t('waitErr2', 'Hat nicht geklappt — später nochmal.'), false);
});
});
})();
</script>
</body>
</html>