<!doctype html>
<html lang="en" class="scroll-smooth">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Stro | Something Quiet</title>
<meta name="description" content="A wearable designed to support how your body naturally holds itself.">
<!-- Fonts -->
<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=Inter:wght@300;400;500;600&family=Newsreader:ital,wght@0,300;0,400;1,300;1,400&display=swap" rel="stylesheet">
<!-- Tailwind -->
<script src="https://cdn.tailwindcss.com"></script>
<!-- Icons -->
<script src="https://unpkg.com/lucide@latest"></script>
<style>
body {
font-family: 'Inter', sans-serif;
background-color: #fafaf9;
color: #1c1917;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.font-serif { font-family: 'Newsreader', serif; }
::selection {
background-color: #e7e5e4;
color: #1c1917;
}
.reveal-up {
opacity: 1;
transform: translateY(0);
transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.blur-in {
filter: blur(0);
opacity: 1;
transition: all 1.2s ease-out;
}
.input-minimal {
background: transparent;
border-bottom: 1px solid #d6d3d1;
padding: 0.75rem 0;
}
</style>
<!-- (All additional font imports can stay here exactly as you had them) -->
</head>
<body class="bg-stone-50 text-stone-900">
<!-- NAV -->
<nav class="fixed w-full z-50 pt-8 pb-8 px-6 md:px-12 bg-stone-50/80 backdrop-blur-sm flex justify-between items-center">
<a href="#" class="text-sm font-semibold tracking-tight">Stro.</a>
</nav>
<!-- HERO -->
<section class="min-h-[90vh] flex items-center justify-center pt-32 px-6 relative">
<div class="text-center max-w-2xl">
<span class="inline-block text-[10px] uppercase tracking-widest bg-white border border-stone-200 rounded-full px-3 py-1 mb-6">
Coming Soon
</span>
<h1 class="text-4xl md:text-5xl lg:text-6xl font-medium tracking-tight mb-8">
Something quiet is being built
</h1>
<p class="text-base md:text-lg text-stone-500 max-w-md mx-auto mb-12">
A wearable designed to support how your body naturally holds itself —
worn under clothing, without interruption.
</p>
<div class="klaviyo-form-Vp89LP"></div>
<p class="text-[10px] text-stone-400 mt-4">
Follow along as I finish building it.
</p>
</div>
</section>
<!-- FOUNDER STORY -->
<section class="bg-white border-t border-stone-200/60 py-24 px-6 md:px-12">
<div class="max-w-4xl mx-auto grid md:grid-cols-12 gap-12">
<div class="md:col-span-4">
<span class="text-[10px] uppercase tracking-widest text-stone-400">The Origin</span>
<h2 class="text-2xl font-medium mt-2">Why I Started</h2>
</div>
<div class="md:col-span-8 text-lg font-light text-stone-600 space-y-6">
<p>Stro began with a simple observation...</p>
<p>Most posture solutions ask for more effort.</p>
<p>I wanted something <span class="italic font-serif text-stone-800">quieter</span>.</p>
</div>
</div>
</section>
<!-- FINAL CTA -->
<section class="bg-stone-900 text-stone-50 py-24 px-6 text-center">
<h2 class="text-2xl md:text-3xl font-medium mb-4">
Starting small, building thoughtfully.
</h2>
<p class="text-stone-400 max-w-md mx-auto mb-10">
One email when it’s ready. That’s it.
</p>
<div class="klaviyo-form-Vp89LP"></div>
</section>
<!-- FOOTER -->
<footer class="bg-stone-900 border-t border-stone-800 py-12 px-6 text-center text-stone-600 text-[10px] uppercase tracking-widest">
© 2024 Stro Inc.
</footer>
<!-- Scripts -->
<script>
lucide.createIcons();
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) entry.target.classList.add('active');
});
}, { threshold: 0.1 });
document.querySelectorAll('.reveal-up, .blur-in').forEach(el => observer.observe(el));
</script>
</body>
</html>