6989a98d75
- Arkitektur: docs/auth/passwordless-architecture.md - Backend: iom/quixzoom-auth-service/ (FastAPI + Redis) - Webb: quixzoom-market-pages/se/login/ (QR-kod + polling) - App: iom/quixzoom-app/src/features/auth/ (push + deep links) Flöde: QR-kod → app-godkännande → webb-inloggad
359 lines
9.3 KiB
HTML
359 lines
9.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Pricing — quiXzoom</title>
|
|
<meta name="description" content="Simple, transparent pricing. Start from $1 per mission. No platform fees. No subscriptions.">
|
|
<link rel="canonical" href="https://www.quixzoom.com/pricing">
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
|
<style>
|
|
:root {
|
|
--ink: #0A0A0A;
|
|
--text-secondary: #6E6E73;
|
|
--surface: #F5F5F7;
|
|
--card: #FFFFFF;
|
|
--blue: #0066FF;
|
|
--green: #00C853;
|
|
--border: rgba(0,0,0,0.08);
|
|
}
|
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
background: var(--surface);
|
|
color: var(--ink);
|
|
line-height: 1.6;
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
.container { max-width: 800px; margin: 0 auto; padding: 0 24px; }
|
|
|
|
/* Nav */
|
|
nav {
|
|
position: sticky; top: 0; z-index: 300;
|
|
background: rgba(255,255,255,0.95);
|
|
backdrop-filter: blur(20px);
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
.nav-inner {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
height: 64px;
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
padding: 0 24px;
|
|
}
|
|
.nav-logo {
|
|
font-size: 20px;
|
|
font-weight: 800;
|
|
color: var(--ink);
|
|
text-decoration: none;
|
|
letter-spacing: -0.5px;
|
|
}
|
|
.nav-logo span {
|
|
color: var(--blue);
|
|
font-weight: 900;
|
|
}
|
|
.nav-links { display: flex; gap: 32px; }
|
|
.nav-links a {
|
|
color: var(--text-secondary);
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
font-size: 15px;
|
|
transition: color 0.15s;
|
|
}
|
|
.nav-links a:hover { color: var(--ink); }
|
|
.nav-links a.active { color: var(--blue); }
|
|
|
|
/* Hero */
|
|
.hero {
|
|
padding: 80px 0 60px;
|
|
text-align: center;
|
|
background: var(--card);
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
.hero h1 {
|
|
font-size: clamp(2.5rem, 5vw, 4rem);
|
|
font-weight: 800;
|
|
letter-spacing: -0.03em;
|
|
line-height: 1.1;
|
|
margin-bottom: 20px;
|
|
}
|
|
.hero p {
|
|
font-size: 1.25rem;
|
|
color: var(--text-secondary);
|
|
max-width: 600px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
/* Simple Pricing */
|
|
.pricing { padding: 60px 0; }
|
|
.pricing-card {
|
|
background: var(--card);
|
|
border: 2px solid var(--blue);
|
|
border-radius: 24px;
|
|
padding: 48px 40px;
|
|
text-align: center;
|
|
box-shadow: 0 8px 32px rgba(0,102,255,0.08);
|
|
}
|
|
.pricing-badge {
|
|
display: inline-block;
|
|
background: rgba(0,102,255,0.1);
|
|
color: var(--blue);
|
|
padding: 8px 20px;
|
|
border-radius: 100px;
|
|
font-size: 0.875rem;
|
|
font-weight: 700;
|
|
margin-bottom: 24px;
|
|
}
|
|
.price {
|
|
font-size: 4rem;
|
|
font-weight: 800;
|
|
color: var(--ink);
|
|
margin-bottom: 8px;
|
|
letter-spacing: -0.03em;
|
|
}
|
|
.price span {
|
|
font-size: 1.25rem;
|
|
font-weight: 500;
|
|
color: var(--text-secondary);
|
|
}
|
|
.pricing-desc {
|
|
font-size: 1.125rem;
|
|
color: var(--text-secondary);
|
|
margin-bottom: 32px;
|
|
}
|
|
|
|
/* Features */
|
|
.features {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
gap: 16px;
|
|
margin: 32px 0;
|
|
text-align: left;
|
|
}
|
|
.feature {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
gap: 12px;
|
|
padding: 16px;
|
|
background: var(--surface);
|
|
border-radius: 12px;
|
|
}
|
|
.feature-icon {
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: 50%;
|
|
background: var(--green);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: white;
|
|
font-weight: 700;
|
|
font-size: 14px;
|
|
flex-shrink: 0;
|
|
}
|
|
.feature-text {
|
|
font-size: 0.95rem;
|
|
color: var(--ink);
|
|
font-weight: 500;
|
|
}
|
|
|
|
/* CTA */
|
|
.cta {
|
|
margin-top: 32px;
|
|
}
|
|
.btn {
|
|
display: inline-block;
|
|
padding: 18px 48px;
|
|
background: var(--blue);
|
|
color: #fff;
|
|
border: none;
|
|
border-radius: 16px;
|
|
font-size: 1.125rem;
|
|
font-weight: 700;
|
|
text-align: center;
|
|
text-decoration: none;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
}
|
|
.btn:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 12px 32px rgba(0,102,255,0.3);
|
|
}
|
|
|
|
/* How it works */
|
|
.how-it-works {
|
|
padding: 60px 0;
|
|
background: var(--card);
|
|
border-top: 1px solid var(--border);
|
|
}
|
|
.how-it-works h2 {
|
|
text-align: center;
|
|
font-size: 2rem;
|
|
font-weight: 800;
|
|
margin-bottom: 40px;
|
|
}
|
|
.steps {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
gap: 24px;
|
|
}
|
|
.step {
|
|
text-align: center;
|
|
padding: 24px;
|
|
}
|
|
.step-number {
|
|
width: 48px;
|
|
height: 48px;
|
|
border-radius: 50%;
|
|
background: var(--blue);
|
|
color: white;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-weight: 800;
|
|
font-size: 1.25rem;
|
|
margin: 0 auto 16px;
|
|
}
|
|
.step h3 {
|
|
font-size: 1.125rem;
|
|
font-weight: 700;
|
|
margin-bottom: 8px;
|
|
}
|
|
.step p {
|
|
font-size: 0.9rem;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
/* Footer */
|
|
footer {
|
|
background: var(--card);
|
|
border-top: 1px solid var(--border);
|
|
padding: 40px 0;
|
|
}
|
|
.footer-inner {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
padding: 0 24px;
|
|
}
|
|
.footer-links { display: flex; gap: 24px; }
|
|
.footer-links a {
|
|
color: var(--text-secondary);
|
|
text-decoration: none;
|
|
font-size: 0.875rem;
|
|
font-weight: 500;
|
|
}
|
|
.footer-links a:hover { color: var(--ink); }
|
|
|
|
@media (max-width: 768px) {
|
|
.nav-links { display: none; }
|
|
.price { font-size: 3rem; }
|
|
.footer-inner { flex-direction: column; gap: 16px; text-align: center; }
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<nav>
|
|
<div class="nav-inner">
|
|
<a href="/" class="nav-logo">qui<span>X</span>zoom</a>
|
|
<div class="nav-links">
|
|
<a href="/">Home</a>
|
|
<a href="/about">About</a>
|
|
<a href="/pricing" class="active">Pricing</a>
|
|
<a href="/academy/">Academy</a>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<section class="hero">
|
|
<div class="container">
|
|
<h1>Simple pricing.<br>No surprises.</h1>
|
|
<p>Start from $1 per mission. No platform fees. No subscriptions. Pay only for what you need.</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="pricing">
|
|
<div class="container">
|
|
<div class="pricing-card">
|
|
<div class="pricing-badge">PAY PER MISSION</div>
|
|
<div class="price">$1 <span>/ mission</span></div>
|
|
<p class="pricing-desc">Start small. Scale as you grow. Perfect for getting started.</p>
|
|
|
|
<div class="features">
|
|
<div class="feature">
|
|
<div class="feature-icon">✓</div>
|
|
<div class="feature-text">No platform fees</div>
|
|
</div>
|
|
<div class="feature">
|
|
<div class="feature-icon">✓</div>
|
|
<div class="feature-text">No monthly subscription</div>
|
|
</div>
|
|
<div class="feature">
|
|
<div class="feature-icon">✓</div>
|
|
<div class="feature-text">Pay only for approved missions</div>
|
|
</div>
|
|
<div class="feature">
|
|
<div class="feature-icon">✓</div>
|
|
<div class="feature-text">Mission rewards from $1-5</div>
|
|
</div>
|
|
<div class="feature">
|
|
<div class="feature-icon">✓</div>
|
|
<div class="feature-text">Break missions into smaller tasks</div>
|
|
</div>
|
|
<div class="feature">
|
|
<div class="feature-icon">✓</div>
|
|
<div class="feature-text">Weekly payouts</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="cta">
|
|
<a href="/signup" class="btn">Get Started →</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="how-it-works">
|
|
<div class="container">
|
|
<h2>How it works</h2>
|
|
<div class="steps">
|
|
<div class="step">
|
|
<div class="step-number">1</div>
|
|
<h3>Accept Mission</h3>
|
|
<p>Choose from available missions near you</p>
|
|
</div>
|
|
<div class="step">
|
|
<div class="step-number">2</div>
|
|
<h3>Capture Photos</h3>
|
|
<p>Follow the mission guidelines</p>
|
|
</div>
|
|
<div class="step">
|
|
<div class="step-number">3</div>
|
|
<h3>Submit Work</h3>
|
|
<p>Upload through the app</p>
|
|
</div>
|
|
<div class="step">
|
|
<div class="step-number">4</div>
|
|
<h3>Get Paid</h3>
|
|
<p>Receive payment within 7 days</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<footer>
|
|
<div class="footer-inner">
|
|
<div>© 2026 quiXzoom · Operated by Landvex AB</div>
|
|
<div class="footer-links">
|
|
<a href="/privacy">Privacy</a>
|
|
<a href="/terms">Terms</a>
|
|
<a href="/support">Support</a>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html> |