Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
421 lines (390 loc) · 22.6 KB
/
Copy pathindex.html
File metadata and controls
421 lines (390 loc) · 22.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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Two — A Private Space for Long-Distance Love</title>
<script src="https://cdn.tailwindcss.com"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600&display=swap');
:root {
--bg-deep: #14100f;
--bg-warm: #1c1614;
--cream: #f4ede4;
--rose: #c98a7d;
--rose-soft: #e0aa9c;
--gold: #cbae82;
--muted: #a9998f;
}
* { scroll-behavior: smooth; }
body {
background-color: var(--bg-deep);
color: var(--cream);
font-family: 'Inter', sans-serif;
font-weight: 300;
overflow-x: hidden;
}
.serif { font-family: 'Cormorant Garamond', serif; }
.text-gradient {
background: linear-gradient(120deg, #f4ede4 0%, #e0aa9c 50%, #cbae82 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
.aurora {
position: absolute;
border-radius: 50%;
filter: blur(90px);
opacity: 0.35;
pointer-events: none;
animation: float 14s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translate(0, 0) scale(1); }
50% { transform: translate(30px, -40px) scale(1.1); }
}
.glass {
background: rgba(255, 255, 255, 0.03);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.07);
}
.fade-up {
opacity: 0;
transform: translateY(40px);
transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.fade-up.visible {
opacity: 1;
transform: translateY(0);
}
.btn-primary {
background: linear-gradient(120deg, var(--rose) 0%, var(--gold) 100%);
color: #14100f;
transition: all 0.4s ease;
box-shadow: 0 10px 40px -12px rgba(201, 138, 125, 0.6);
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 18px 50px -12px rgba(201, 138, 125, 0.8);
}
.link-underline {
position: relative;
}
.link-underline::after {
content: '';
position: absolute;
bottom: -4px; left: 0;
width: 0; height: 1px;
background: var(--rose-soft);
transition: width 0.4s ease;
}
.link-underline:hover::after { width: 100%; }
.phone-glow {
box-shadow: 0 40px 120px -30px rgba(201, 138, 125, 0.5), 0 0 0 1px rgba(255,255,255,0.05);
}
.heartbeat {
animation: beat 2.4s ease-in-out infinite;
}
@keyframes beat {
0%, 100% { transform: scale(1); }
15% { transform: scale(1.15); }
30% { transform: scale(1); }
}
::selection { background: var(--rose); color: #14100f; }
</style>
</head>
<body>
<!-- Ambient background -->
<div class="fixed inset-0 z-0 overflow-hidden">
<div class="aurora" style="width:500px;height:500px;background:#c98a7d;top:-100px;left:-100px;"></div>
<div class="aurora" style="width:450px;height:450px;background:#7d5a52;top:40%;right:-120px;animation-delay:4s;"></div>
<div class="aurora" style="width:400px;height:400px;background:#cbae82;bottom:-100px;left:30%;animation-delay:7s;opacity:0.2;"></div>
</div>
<div class="relative z-10">
<!-- Nav -->
<nav class="fixed top-0 w-full z-50 transition-all duration-500" id="nav">
<div class="max-w-7xl mx-auto px-6 lg:px-10 py-5 flex items-center justify-between">
<div class="flex items-center gap-2">
<span class="serif text-3xl font-medium tracking-wide">Two</span>
<span class="heartbeat inline-block text-rose-300" style="color:var(--rose)">♥</span>
</div>
<div class="hidden md:flex items-center gap-10 text-sm text-[var(--muted)]">
<a href="#features" class="link-underline hover:text-[var(--cream)] transition">Features</a>
<a href="#how" class="link-underline hover:text-[var(--cream)] transition">How it works</a>
<a href="#pricing" class="link-underline hover:text-[var(--cream)] transition">Pricing</a>
</div>
<a href="#signup" class="btn-primary px-6 py-2.5 rounded-full text-sm font-medium">Get Two</a>
</div>
</nav>
<!-- Hero -->
<header class="min-h-screen flex items-center pt-28 pb-16 px-6 lg:px-10">
<div class="max-w-7xl mx-auto grid lg:grid-cols-2 gap-16 items-center w-full">
<div>
<div class="fade-up inline-flex items-center gap-2 glass px-4 py-1.5 rounded-full text-xs tracking-widest uppercase text-[var(--rose-soft)] mb-8">
<span class="w-1.5 h-1.5 rounded-full bg-[var(--rose)]"></span>
For couples, miles apart
</div>
<h1 class="fade-up serif text-5xl md:text-6xl lg:text-7xl leading-[1.05] mb-8" style="transition-delay:0.1s">
Close the distance,<br>
<span class="text-gradient italic">one moment at a time.</span>
</h1>
<p class="fade-up text-lg text-[var(--muted)] max-w-md leading-relaxed mb-10" style="transition-delay:0.2s">
Two is a private, beautifully calm space made for just the two of you. Share your days, count down to reunions, and stay intimately connected — no matter the miles or time zones.
</p>
<div class="fade-up flex flex-col sm:flex-row gap-4" style="transition-delay:0.3s">
<a href="#signup" class="btn-primary px-8 py-4 rounded-full text-center font-medium">Start your space free</a>
<a href="#how" class="glass px-8 py-4 rounded-full text-center hover:bg-white/5 transition">See how it works</a>
</div>
<div class="fade-up flex items-center gap-4 mt-10 text-sm text-[var(--muted)]" style="transition-delay:0.4s">
<div class="flex -space-x-3">
<div class="w-9 h-9 rounded-full border-2 border-[var(--bg-deep)] bg-gradient-to-br from-[#c98a7d] to-[#7d5a52]"></div>
<div class="w-9 h-9 rounded-full border-2 border-[var(--bg-deep)] bg-gradient-to-br from-[#cbae82] to-[#c98a7d]"></div>
<div class="w-9 h-9 rounded-full border-2 border-[var(--bg-deep)] bg-gradient-to-br from-[#e0aa9c] to-[#cbae82]"></div>
</div>
<span>Loved by <span class="text-[var(--cream)]">40,000+</span> couples worldwide</span>
</div>
</div>
<!-- Phone mockup -->
<div class="fade-up flex justify-center lg:justify-end" style="transition-delay:0.25s">
<div class="relative">
<div class="phone-glow w-[300px] h-[600px] rounded-[3rem] glass p-3">
<div class="w-full h-full rounded-[2.4rem] overflow-hidden relative" style="background:linear-gradient(170deg,#1c1614,#241a17);">
<!-- notch -->
<div class="absolute top-3 left-1/2 -translate-x-1/2 w-24 h-6 bg-black/40 rounded-full z-20"></div>
<!-- app content -->
<div class="p-6 pt-14 h-full flex flex-col">
<div class="text-center mb-6">
<p class="text-xs uppercase tracking-widest text-[var(--muted)]">Together again in</p>
<p class="serif text-5xl text-gradient mt-2">14 days</p>
<p class="text-xs text-[var(--muted)] mt-1">Paris · June 12</p>
</div>
<div class="glass rounded-2xl p-4 mb-4">
<div class="flex items-center gap-3 mb-3">
<div class="w-8 h-8 rounded-full bg-gradient-to-br from-[#c98a7d] to-[#7d5a52]"></div>
<div>
<p class="text-xs">Elise · London</p>
<p class="text-[10px] text-[var(--muted)]">9:41 PM</p>
</div>
</div>
<p class="text-sm text-[var(--cream)]/90">Thinking of you before I sleep 🌙</p>
</div>
<div class="glass rounded-2xl p-4 mb-4 ml-6">
<p class="text-sm text-[var(--cream)]/90">Good morning, love. Sending warmth ☀️</p>
</div>
<div class="mt-auto glass rounded-2xl p-4 flex items-center justify-between">
<span class="text-xs text-[var(--muted)]">Send a moment...</span>
<span class="heartbeat text-lg" style="color:var(--rose)">♥</span>
</div>
</div>
</div>
</div>
<!-- floating card -->
<div class="glass absolute -left-8 top-24 rounded-2xl p-4 hidden lg:block" style="animation:float 6s ease-in-out infinite;">
<p class="text-xs text-[var(--muted)]">Your streak</p>
<p class="serif text-2xl text-gradient">128 days ♥</p>
</div>
</div>
</div>
</div>
</header>
<!-- Trust strip -->
<section class="py-8 border-y border-white/5">
<div class="max-w-5xl mx-auto px-6 flex flex-wrap items-center justify-center gap-x-12 gap-y-4 text-xs uppercase tracking-widest text-[var(--muted)]">
<span>End-to-end private</span>
<span class="text-[var(--rose)]">·</span>
<span>Ad-free forever</span>
<span class="text-[var(--rose)]">·</span>
<span>Just for two</span>
<span class="text-[var(--rose)]">·</span>
<span>Across every time zone</span>
</div>
</section>
<!-- Features -->
<section id="features" class="py-28 px-6 lg:px-10">
<div class="max-w-7xl mx-auto">
<div class="text-center max-w-2xl mx-auto mb-20">
<p class="fade-up text-xs uppercase tracking-[0.3em] text-[var(--rose-soft)] mb-5">Your shared world</p>
<h2 class="fade-up serif text-4xl md:text-5xl leading-tight mb-6" style="transition-delay:0.1s">
Everything you need to feel <span class="italic text-gradient">close</span>
</h2>
<p class="fade-up text-[var(--muted)]" style="transition-delay:0.2s">Thoughtfully designed features that keep your bond warm, present, and effortless across the distance.</p>
</div>
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6">
<!-- cards -->
<div class="fade-up glass rounded-3xl p-8 hover:bg-white/[0.05] transition duration-500">
<div class="w-12 h-12 rounded-2xl flex items-center justify-center mb-6 text-2xl" style="background:rgba(201,138,125,0.15)">🕰️</div>
<h3 class="serif text-2xl mb-3">Two time zones, one view</h3>
<p class="text-[var(--muted)] text-sm leading-relaxed">See each other's local time at a glance, so you always know when they're waking up, working, or dreaming.</p>
</div>
<div class="fade-up glass rounded-3xl p-8 hover:bg-white/[0.05] transition duration-500" style="transition-delay:0.1s">
<div class="w-12 h-12 rounded-2xl flex items-center justify-center mb-6 text-2xl" style="background:rgba(203,174,130,0.15)">💌</div>
<h3 class="serif text-2xl mb-3">Private messages & moments</h3>
<p class="text-[var(--muted)] text-sm leading-relaxed">A calm, ad-free chat that's only ever between you two. Share photos, voice notes, and little love-taps.</p>
</div>
<div class="fade-up glass rounded-3xl p-8 hover:bg-white/[0.05] transition duration-500" style="transition-delay:0.2s">
<div class="w-12 h-12 rounded-2xl flex items-center justify-center mb-6 text-2xl" style="background:rgba(224,170,156,0.15)">✈️</div>
<h3 class="serif text-2xl mb-3">Reunion countdowns</h3>
<p class="text-[var(--muted)] text-sm leading-relaxed">Count down together to the next time you'll hold hands. The distance always has an end in sight.</p>
</div>
<div class="fade-up glass rounded-3xl p-8 hover:bg-white/[0.05] transition duration-500">
<div class="w-12 h-12 rounded-2xl flex items-center justify-center mb-6 text-2xl" style="background:rgba(201,138,125,0.15)">📔</div>
<h3 class="serif text-2xl mb-3">Shared journal & memories</h3>
<p class="text-[var(--muted)] text-sm leading-relaxed">Build a private timeline of your story — photos, milestones, and the moments worth keeping forever.</p>
</div>
<div class="fade-up glass rounded-3xl p-8 hover:bg-white/[0.05] transition duration-500" style="transition-delay:0.1s">
<div class="w-12 h-12 rounded-2xl flex items-center justify-center mb-6 text-2xl" style="background:rgba(203,174,130,0.15)">🌙</div>
<h3 class="serif text-2xl mb-3">Goodnight touches</h3>
<p class="text-[var(--muted)] text-sm leading-relaxed">Send a gentle tap when words aren't enough. A quiet way to say "I'm here, and thinking of you."</p>
</div>
<div class="fade-up glass rounded-3xl p-8 hover:bg-white/[0.05] transition duration-500" style="transition-delay:0.2s">
<div class="w-12 h-12 rounded-2xl flex items-center justify-center mb-6 text-2xl" style="background:rgba(224,170,156,0.15)">🗓️</div>
<h3 class="serif text-2xl mb-3">Date-night planner</h3>
<p class="text-[var(--muted)] text-sm leading-relaxed">Plan virtual dates, sync a movie, or schedule a call — thoughtfully coordinated across your zones.</p>
</div>
</div>
</div>
</section>
<!-- How it works -->
<section id="how" class="py-28 px-6 lg:px-10">
<div class="max-w-6xl mx-auto">
<div class="text-center mb-20">
<p class="fade-up text-xs uppercase tracking-[0.3em] text-[var(--rose-soft)] mb-5">Simple to begin</p>
<h2 class="fade-up serif text-4xl md:text-5xl" style="transition-delay:0.1s">Your space in three steps</h2>
</div>
<div class="grid md:grid-cols-3 gap-12">
<div class="fade-up text-center">
<div class="serif text-6xl text-gradient mb-6">01</div>
<h3 class="serif text-2xl mb-3">Create your Two</h3>
<p class="text-[var(--muted)] text-sm leading-relaxed">Sign up in seconds and set up your private, shared space — just for the two of you.</p>
</div>
<div class="fade-up text-center" style="transition-delay:0.15s">
<div class="serif text-6xl text-gradient mb-6">02</div>
<h3 class="serif text-2xl mb-3">Invite your love</h3>
<p class="text-[var(--muted)] text-sm leading-relaxed">Send one link to your partner. Once they join, your world begins to sync automatically.</p>
</div>
<div class="fade-up text-center" style="transition-delay:0.3s">
<div class="serif text-6xl text-gradient mb-6">03</div>
<h3 class="serif text-2xl mb-3">Stay close, daily</h3>
<p class="text-[var(--muted)] text-sm leading-relaxed">Share moments, count down reunions, and grow your story — one warm day at a time.</p>
</div>
</div>
</div>
</section>
<!-- Testimonial -->
<section class="py-28 px-6 lg:px-10">
<div class="max-w-4xl mx-auto text-center">
<div class="fade-up glass rounded-[2.5rem] p-12 md:p-16">
<p class="text-3xl mb-8" style="color:var(--rose)">❝</p>
<p class="serif text-2xl md:text-3xl leading-relaxed italic mb-8">
"3,000 miles apart and somehow we've never felt closer. Two became our little home — the first thing we open in the morning and the last thing at night."
</p>
<div class="flex items-center justify-center gap-3">
<div class="w-10 h-10 rounded-full bg-gradient-to-br from-[#c98a7d] to-[#cbae82]"></div>
<div class="text-left">
<p class="text-sm">Maya & Julian</p>
<p class="text-xs text-[var(--muted)]">Tokyo ↔ New York</p>
</div>
</div>
</div>
</div>
</section>
<!-- Pricing -->
<section id="pricing" class="py-28 px-6 lg:px-10">
<div class="max-w-5xl mx-auto">
<div class="text-center mb-16">
<p class="fade-up text-xs uppercase tracking-[0.3em] text-[var(--rose-soft)] mb-5">Gentle pricing</p>
<h2 class="fade-up serif text-4xl md:text-5xl" style="transition-delay:0.1s">One plan, priced for two</h2>
</div>
<div class="grid md:grid-cols-2 gap-6 max-w-3xl mx-auto">
<div class="fade-up glass rounded-3xl p-10">
<h3 class="serif text-2xl mb-2">Free</h3>
<p class="text-[var(--muted)] text-sm mb-6">Everything to begin your journey together.</p>
<p class="serif text-5xl mb-8">$0</p>
<ul class="space-y-3 text-sm text-[var(--muted)] mb-8">
<li class="flex gap-3"><span style="color:var(--rose)">✓</span> Private chat & moments</li>
<li class="flex gap-3"><span style="color:var(--rose)">✓</span> Dual time zones</li>
<li class="flex gap-3"><span style="color:var(--rose)">✓</span> One reunion countdown</li>
</ul>
<a href="#signup" class="glass block text-center py-3.5 rounded-full hover:bg-white/5 transition">Start free</a>
</div>
<div class="fade-up rounded-3xl p-10 relative overflow-hidden" style="transition-delay:0.1s;background:linear-gradient(160deg,rgba(201,138,125,0.15),rgba(203,174,130,0.05));border:1px solid rgba(201,138,125,0.3)">
<span class="absolute top-6 right-6 text-[10px] uppercase tracking-widest px-3 py-1 rounded-full" style="background:var(--rose);color:#14100f">Most loved</span>
<h3 class="serif text-2xl mb-2">Two Premium</h3>
<p class="text-[var(--muted)] text-sm mb-6">The full, uninterrupted experience.</p>
<p class="serif text-5xl mb-1">$6<span class="text-lg text-[var(--muted)]">/mo</span></p>
<p class="text-xs text-[var(--muted)] mb-8">for both of you, together</p>
<ul class="space-y-3 text-sm text-[var(--muted)] mb-8">
<li class="flex gap-3"><span style="color:var(--rose)">✓</span> Everything in Free</li>
<li class="flex gap-3"><span style="color:var(--rose)">✓</span> Unlimited shared journal</li>
<li class="flex gap-3"><span style="color:var(--rose)">✓</span> Goodnight touches & voice notes</li>
<li class="flex gap-3"><span style="color:var(--rose)">✓</span> Date-night planner & sync</li>
<li class="flex gap-3"><span style="color:var(--rose)">✓</span> Priority, human support</li>
</ul>
<a href="#signup" class="btn-primary block text-center py-3.5 rounded-full font-medium">Go Premium</a>
</div>
</div>
</div>
</section>
<!-- Sign up CTA -->
<section id="signup" class="py-28 px-6 lg:px-10">
<div class="max-w-3xl mx-auto text-center">
<div class="fade-up glass rounded-[3rem] p-12 md:p-16 relative overflow-hidden">
<div class="aurora" style="width:300px;height:300px;background:#c98a7d;top:-80px;left:50%;transform:translateX(-50%);opacity:0.25"></div>
<div class="relative">
<span class="heartbeat inline-block text-4xl mb-6" style="color:var(--rose)">♥</span>
<h2 class="serif text-4xl md:text-5xl mb-5 leading-tight">Begin your <span class="italic text-gradient">Two</span></h2>
<p class="text-[var(--muted)] mb-10 max-w-md mx-auto">Create your private space in under a minute. Free to start, forever ad-free.</p>
<form class="flex flex-col sm:flex-row gap-3 max-w-md mx-auto" onsubmit="handleSignup(event)">
<input type="email" required placeholder="Your email address" class="flex-1 bg-white/5 border border-white/10 rounded-full px-6 py-4 text-sm placeholder-[var(--muted)] focus:outline-none focus:border-[var(--rose)] transition">
<button type="submit" class="btn-primary px-8 py-4 rounded-full font-medium whitespace-nowrap">Get started</button>
</form>
<p id="signup-msg" class="text-sm text-[var(--rose-soft)] mt-5 h-5 transition-opacity duration-500 opacity-0">Welcome ♥ Check your inbox to invite your love.</p>
<p class="text-xs text-[var(--muted)] mt-4">No credit card required · Private by design</p>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="border-t border-white/5 py-14 px-6 lg:px-10">
<div class="max-w-7xl mx-auto flex flex-col md:flex-row justify-between items-center gap-8">
<div class="flex items-center gap-2">
<span class="serif text-2xl">Two</span>
<span class="text-[var(--rose)]">♥</span>
</div>
<div class="flex flex-wrap justify-center gap-8 text-sm text-[var(--muted)]">
<a href="#features" class="link-underline hover:text-[var(--cream)] transition">Features</a>
<a href="#pricing" class="link-underline hover:text-[var(--cream)] transition">Pricing</a>
<a href="#" class="link-underline hover:text-[var(--cream)] transition">Privacy</a>
<a href="#" class="link-underline hover:text-[var(--cream)] transition">Contact</a>
</div>
<p class="text-xs text-[var(--muted)]">© 2024 Two. Made for lovers, apart.</p>
</div>
</footer>
</div>
<script>
// Scroll reveal
const observer = new IntersectionObserver((entries) => {
entries.forEach(e => {
if (e.isIntersecting) e.target.classList.add('visible');
});
}, { threshold: 0.15 });
document.querySelectorAll('.fade-up').forEach(el => observer.observe(el));
// Nav background on scroll
const nav = document.getElementById('nav');
window.addEventListener('scroll', () => {
if (window.scrollY > 40) {
nav.classList.add('glass');
} else {
nav.classList.remove('glass');
}
});
// Signup handler
function handleSignup(e) {
e.preventDefault();
const msg = document.getElementById('signup-msg');
msg.style.opacity = '1';
e.target.reset();
}
</script>
</body>
</html>