docs: add quixzoom-auth-core product to AAMOS

- Product documentation in docs/products/
- Updated MEMORY.md with product info
- quiXzoom Auth Core as AAMOS Identity product
This commit is contained in:
Bernt
2026-07-14 09:58:53 +00:00
parent 58ca4e68db
commit 48ea61cdcc
2730 changed files with 293827 additions and 7213 deletions
+449 -81
View File
@@ -49,9 +49,9 @@
<link rel="icon" type="image/png" sizes="512x512" href="/favicon-512x512.png">
<link rel="preconnect" href="https://api.quixzoom.com">
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[
{"@type":["Organization","Corporation"],"@id":"https://www.quixzoom.com/#organization","name":"quiXzoom","legalName":"Landvex AB","alternateName":["quiXzoom","quixzoom","QuiXzoom","QUIXZOOM","quick zoom app","quix zoom","qui xzoom","quiX zoom","quixzoom app","quixzoom platform","quiXzoom platform","quiXzoom Sverige","quiXzoom Sweden"],"url":"https://www.quixzoom.com/","foundingDate":"2026","description":"quiXzoom is a crowdsourced field data collection platform. Independent contractors called Zoomers photograph infrastructure, roads, buildings and urban environments on demand and earn money per approved mission.","logo":{"@type":"ImageObject","url":"https://www.quixzoom.com/favicon-512x512.png","width":512,"height":512},"brand":{"@type":"Brand","name":"quiXzoom","slogan":"Collect reality."},"disambiguatingDescription":"quiXzoom (spelled with a capital X) is a crowdsourced field data platform — not related to Zoom video conferencing or camera zoom features.","sameAs":["https://www.quixzoom.com","https://app.quixzoom.com","https://www.linkedin.com/company/quixzoom","https://www.instagram.com/quixzoom","https://twitter.com/quixzoom","https://x.com/quixzoom","https://www.crunchbase.com/organization/quixzoom"]},
{"@type":["Organization","Corporation"],"@id":"https://www.quixzoom.com/#organization","name":"quiXzoom","legalName":"quiXzoom Inc","alternateName":["quiXzoom","quixzoom","QuiXzoom","QUIXZOOM","quick zoom app","quix zoom","qui xzoom","quiX zoom","quixzoom app","quixzoom platform","quiXzoom platform","quiXzoom Sverige","quiXzoom Sweden"],"url":"https://www.quixzoom.com/","foundingDate":"2026","description":"quiXzoom is a crowdsourced field data collection platform. Independent contractors called Zoomers photograph infrastructure, roads, buildings and urban environments on demand and earn money per approved mission.","logo":{"@type":"ImageObject","url":"https://www.quixzoom.com/favicon-512x512.png","width":512,"height":512},"brand":{"@type":"Brand","name":"quiXzoom","slogan":"Collect reality."},"disambiguatingDescription":"quiXzoom (spelled with a capital X) is a crowdsourced field data platform — not related to Zoom video conferencing or camera zoom features.","sameAs":["https://www.quixzoom.com","https://app.quixzoom.com","https://www.linkedin.com/company/quixzoom","https://www.instagram.com/quixzoom","https://twitter.com/quixzoom","https://x.com/quixzoom","https://www.crunchbase.com/organization/quixzoom"]},
{"@type":"WebSite","@id":"https://www.quixzoom.com/#website","url":"https://www.quixzoom.com/","name":"quiXzoom","description":"Crowdsourced field data collection — earn money photographing infrastructure and urban environments near you.","publisher":{"@id":"https://www.quixzoom.com/#organization"}},
{"@type":"SoftwareApplication","name":"quiXzoom","applicationCategory":"LifestyleApplication","operatingSystem":"iOS, Android","description":"Crowdsourced field data collection platform. Zoomers earn money photographing infrastructure and urban environments on demand.","offers":{"@type":"Offer","price":"0","priceCurrency":"EUR","description":"Free to join — earn per approved mission"}},
{"@type":"SoftwareApplication","name":"quiXzoom","applicationCategory":"LifestyleApplication","operatingSystem":"iOS, Android","description":"Crowdsourced field data collection platform. Zoomers earn money photographing infrastructure and urban environments on demand.","offers":{"@type":"Offer","price":"0","priceCurrency":"USD","description":"Free to join — earn per approved mission"}},
{"@type":"FAQPage","mainEntity":[
{"@type":"Question","name":"How much can I earn as a Zoomer?","acceptedAnswer":{"@type":"Answer","text":"Missions reward 30120 QX Credits each. Active Zoomers doing 812 missions per week typically accumulate 4001,200 Credits weekly. Credits are redeemable as cash via weekly payout — the exact amount depends on your local payout rate."}},
{"@type":"Question","name":"Do I need a professional camera?","acceptedAnswer":{"@type":"Answer","text":"No. iPhone 12 or later, or any Android with 12MP or better, is all you need."}},
@@ -137,7 +137,7 @@ nav{position:sticky;top:0;z-index:300;background:var(--bg-white);border-bottom:1
#hero{background:var(--bg-off);min-height:calc(100vh - 68px);display:flex;align-items:center;padding:80px 0 96px}
.hero-layout{display:grid;grid-template-columns:1fr 420px;gap:64px;align-items:center;width:100%}
.hero-inner{max-width:560px}
.hero-visual{display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}
.hero-visual{display:flex;justify-content:center;align-items:flex-start;position:relative;overflow:hidden;padding-top:40px}
.phone-frame{width:240px;height:480px;background:#1a1a1a;border-radius:36px;border:2px solid rgba(0,0,0,.1);box-shadow:0 40px 80px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.05);position:relative;overflow:hidden;flex-shrink:0}
.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:24px;background:#2a2a2a;border-radius:0 0 16px 16px;z-index:10}
.phone-screen{position:absolute;inset:0;background:#fff;border-radius:34px;overflow:hidden;display:flex;flex-direction:column}
@@ -646,11 +646,22 @@ html,body{overflow-x:clip}
.qx-calc-result-period{font-size:.75rem;color:rgba(10,10,10,.75);margin-top:2px}
/* GeoIP banner */
#qx-geo-banner{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:100px;padding:10px 20px 10px 16px;display:flex;align-items:center;gap:12px;font-size:.8125rem;color:rgba(0,0,0,.85);z-index:800;box-shadow:0 8px 32px rgba(0,0,0,.15);white-space:nowrap;animation:slideUp .3s ease}
@keyframes slideUp{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
#qx-geo-banner button.geo-switch{background:#0066FF;color:var(--text-dark);border:none;border-radius:100px;padding:5px 14px;font-size:.75rem;font-weight:700;cursor:pointer}
#qx-geo-banner button.geo-dismiss{background:none;border:none;color:rgba(10,10,10,.75);font-size:1rem;cursor:pointer;padding:0 0 0 4px;line-height:1}
@media(max-width:480px){#qx-geo-banner{bottom:16px;left:16px;right:16px;transform:none;border-radius:16px;white-space:normal;flex-wrap:wrap}}
#qx-geo-banner{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:#fff;border:2px solid var(--blue);border-radius:var(--radius-card);padding:24px 32px;display:flex;align-items:center;gap:20px;font-size:1rem;color:var(--text-dark);z-index:800;box-shadow:0 12px 40px rgba(0,102,255,.15);animation:slideUp .3s ease;max-width:480px;width:90%}
@keyframes slideUp{from{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
#qx-geo-banner .geo-icon{width:48px;height:48px;background:var(--blue);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
#qx-geo-banner .geo-icon svg{width:24px;height:24px;stroke:white;stroke-width:2;fill:none}
#qx-geo-banner .geo-text{display:flex;flex-direction:column;gap:6px;flex:1}
#qx-geo-banner .geo-title{font-size:1.1rem;font-weight:800;color:var(--text-dark);line-height:1.3}
#qx-geo-banner .geo-subtitle{font-size:.85rem;color:var(--text-muted);line-height:1.4}
#qx-geo-banner .geo-local{font-size:.8rem;color:var(--blue);font-weight:600}
#qx-geo-banner .geo-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
#qx-geo-banner a.geo-switch{background:var(--blue);color:#fff;border:none;border-radius:var(--radius-lg);padding:10px 20px;font-size:.85rem;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s;text-align:center}
#qx-geo-banner a.geo-switch:hover{background:var(--blue-dark)}
#qx-geo-banner button.geo-dismiss{background:none;border:none;color:var(--text-muted);font-size:1.25rem;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s;margin-top:4px}
#qx-geo-banner button.geo-dismiss:hover{background:rgba(0,0,0,.08)}
@media(max-width:600px){#qx-geo-banner{flex-direction:column;align-items:flex-start;gap:16px;max-width:90%}}
@media(max-width:600px){#qx-geo-banner .geo-actions{width:100%;align-items:stretch}}
@media(max-width:600px){#qx-geo-banner a.geo-switch{width:100%;text-align:center}}
/* Tier illustrations */
.tier-ill{display:flex;justify-content:center;margin-bottom:16px}
@@ -679,6 +690,7 @@ html,body{overflow-x:clip}
.btn { padding: 0.75rem 1.5rem !important; font-size: 1rem !important; }
}
</style>
<script type="module" src="https://auth.quixzoom.com/site-auth-snippet.js"></script>
</head>
<body>
@@ -690,7 +702,6 @@ html,body{overflow-x:clip}
<a href="/" class="nav-logo">qui<span class="x">X</span>zoom</a>
<ul class="nav-links">
<li><a href="/order/">Order Field Data</a></li>
<li><a href="/pricing/">Pricing</a></li>
<li><a href="/earn/">Earn as Zoomer</a></li>
<li><a href="/for-organisations/">For Organisations</a></li>
<li><a href="/about">About</a></li>
@@ -726,7 +737,6 @@ html,body{overflow-x:clip}
</nav>
<div class="mobile-menu" id="mobile-menu">
<a href="/order/" onclick="closeMenu()">Order Field Photography</a>
<a href="/pricing/" onclick="closeMenu()">Pricing</a>
<a href="/earn/" onclick="closeMenu()">Earn as a Zoomer</a>
<a href="/for-organisations/" onclick="closeMenu()">For Organisations</a>
<a href="/about" onclick="closeMenu()">About</a>
@@ -785,8 +795,29 @@ html,body{overflow-x:clip}
</div>
<p class="wl-counter" id="wl-counter-wrap" style="display:block"><strong><span id="wl-count">2,400+</span></strong> <a class="gterm" data-gterm="Zoomer" href="/glossary#zoomer">Zoomers</a> already signed up</p>
<p class="wl-trust" style="color:rgba(10,10,10,.75);margin-top:12px">Launching August 1, 2026.</p>
<!-- ECOSYSTEM STRIP -->
<div style="margin-top:28px;padding:18px 20px;background:linear-gradient(135deg,rgba(0,102,255,.06) 0%,rgba(0,102,255,.02) 100%);border:1px solid rgba(0,102,255,.15);border-radius:14px">
<p style="font-size:.78rem;font-weight:700;color:var(--blue);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px">The quiXzoom Ecosystem</p>
<div style="display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start">
<div style="flex:1;min-width:200px">
<div style="font-size:.9rem;font-weight:700;color:var(--text-dark);margin-bottom:2px">quiXzoom</div>
<div style="font-size:.8rem;color:var(--text-muted);line-height:1.5">Raw field photography. Verified contributors. Geotagged data delivered in hours.</div>
</div>
<div style="width:1px;background:rgba(0,102,255,.15);min-height:40px"></div>
<div style="flex:1;min-width:200px">
<div style="font-size:.9rem;font-weight:700;color:var(--text-dark);margin-bottom:2px">AMOS AI</div>
<div style="font-size:.8rem;color:var(--text-muted);line-height:1.5">AI analysis of your data. Object detection, anomaly alerts, change detection, risk scoring.</div>
</div>
<div style="width:1px;background:rgba(0,102,255,.15);min-height:40px"></div>
<div style="flex:1;min-width:200px">
<div style="font-size:.9rem;font-weight:700;color:var(--text-dark);margin-bottom:2px">Landvex</div>
<div style="font-size:.8rem;color:var(--text-muted);line-height:1.5">Business intelligence for enterprise, government & infrastructure owners. Decision support.</div>
</div>
</div>
</div>
<div class="hero-stats-pill">
<div class="hstat"><div class="hstat-num">30120</div><div class="hstat-lbl">credits per mission<br><span style="font-size:.7rem;color:rgba(10,10,10,.55);font-weight:400">1 Credit&nbsp;=&nbsp;1 · min. payout 250 Credits</span></div></div>
<div class="hstat"><div class="hstat-num">30120</div><div class="hstat-lbl">credits per mission<br><span style="font-size:.7rem;color:rgba(10,10,10,.55);font-weight:400">1 Credit&nbsp;=&nbsp;$1 · min. payout 250 Credits</span></div></div>
<div class="hstat"><div class="hstat-num">Sweden</div><div class="hstat-lbl">Launching Aug 2026</div></div>
<div class="hstat"><div class="hstat-num">0%</div><div class="hstat-lbl">platform fee</div></div>
</div>
@@ -838,7 +869,7 @@ html,body{overflow-x:clip}
<div class="ps-card-addr">Main Street 14, Stockholm</div>
<div class="ps-card-row">
<div>
<div class="ps-card-reward">85</div>
<div class="ps-card-reward">$85</div>
<div class="ps-card-meta">3 photos · ~12 min</div>
</div>
<span class="ps-card-btn" style="cursor:default;opacity:.7">Claim →</span>
@@ -852,12 +883,93 @@ html,body{overflow-x:clip}
</div>
</section>
<!-- DUAL CTA -->
<section style="background:var(--bg-white);padding:48px 0;border-bottom:1px solid rgba(0,0,0,.08)">
<div class="container">
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px">
<!-- CTA: Beställare -->
<div style="background:linear-gradient(135deg,rgba(0,102,255,.06) 0%,rgba(0,102,255,.02) 100%);border:2px solid rgba(0,102,255,.15);border-radius:var(--radius-card);padding:36px 32px;text-align:center">
<div style="width:64px;height:64px;margin:0 auto 16px;background:var(--blue);border-radius:16px;display:flex;align-items:center;justify-content:center">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="12" cy="12" r="5"/><path d="M12 7v10M7 12h10"/></svg>
</div>
<h3 style="font-size:1.5rem;font-weight:800;color:var(--text-dark);margin-bottom:8px">Order Field Photography</h3>
<p style="color:var(--text-muted);font-size:var(--text-base);line-height:1.6;margin-bottom:12px">Get raw geotagged photos from verified contributors. Delivered in hours.</p>
<p style="color:var(--text-muted);font-size:.8rem;line-height:1.5;margin-bottom:24px">Pay with Stripe in the app or on desktop. Enterprise invoicing via <a href="https://www.landvex.com" style="color:var(--blue)">Landvex</a>.</p>
<a href="/order/" style="display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border:none;border-radius:var(--radius-lg);padding:16px 32px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s">Start Order →</a>
</div>
<!-- CTA: Zoomer -->
<div style="background:linear-gradient(135deg,rgba(0,200,83,.06) 0%,rgba(0,200,83,.02) 100%);border:2px solid rgba(0,200,83,.15);border-radius:var(--radius-card);padding:36px 32px;text-align:center">
<div style="width:64px;height:64px;margin:0 auto 16px;background:#00C853;border-radius:16px;display:flex;align-items:center;justify-content:center">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 6v12M8 10l4-4 4 4M8 14l4 4 4-4"/></svg>
</div>
<h3 style="font-size:1.5rem;font-weight:800;color:var(--text-dark);margin-bottom:8px">Earn as a Zoomer</h3>
<p style="color:var(--text-muted);font-size:var(--text-base);line-height:1.6;margin-bottom:12px">Free to join. No fees. Get paid per approved mission. Work when you want.</p>
<p style="color:var(--text-muted);font-size:.8rem;line-height:1.5;margin-bottom:24px">Weekly payouts via Stripe Connect. From $0.50 per mission. 1 QZ Token = $1 USD.</p>
<a href="/earn/" style="display:inline-flex;align-items:center;justify-content:center;background:#00C853;color:#fff;border:none;border-radius:var(--radius-lg);padding:16px 32px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .15s">Join as Zoomer →</a>
</div>
</div>
</div>
</section>
<!-- FOR ORGANISATIONS -->
<section id="for-organisations" class="section-pad" style="background:var(--bg-off)">
<div class="container">
<div class="section-header">
<h2>Order verified field data</h2>
<p>Raw geotagged photos from verified contributors. Delivered in hours, not weeks.</p>
</div>
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:40px">
<div style="background:var(--bg-white);border-radius:var(--radius-card);padding:28px;border:1px solid rgba(0,0,0,.08)">
<div style="font-size:2rem;margin-bottom:12px">📸</div>
<h3 style="font-size:var(--text-lg);font-weight:800;margin-bottom:8px;color:var(--text-dark)">Raw Field Photography</h3>
<p style="color:var(--text-muted);font-size:var(--text-sm);line-height:1.6">Order specific shots from any location. Geotagged, timestamped, verified. No analysis — just raw visual data.</p>
<a href="/order/" style="color:var(--blue);font-weight:600;font-size:var(--text-sm);text-decoration:none">Start order →</a>
</div>
<div style="background:var(--bg-white);border-radius:var(--radius-card);padding:28px;border:1px solid rgba(0,0,0,.08)">
<div style="font-size:2rem;margin-bottom:12px">📋</div>
<h3 style="font-size:var(--text-lg);font-weight:800;margin-bottom:8px;color:var(--text-dark)">Lead Packages</h3>
<p style="color:var(--text-muted);font-size:var(--text-sm);line-height:1.6">Buy pre-collected intelligence. Example: "Dirty skylights on Östermalm" — get company names, raw photos, and AI-flagged issues.</p>
<a href="/order/#leads" style="color:var(--blue);font-weight:600;font-size:var(--text-sm);text-decoration:none">Browse leads →</a>
</div>
<div style="background:var(--bg-white);border-radius:var(--radius-card);padding:28px;border:1px solid rgba(0,0,0,.08)">
<div style="font-size:2rem;margin-bottom:12px">🤖</div>
<h3 style="font-size:var(--text-lg);font-weight:800;margin-bottom:8px;color:var(--text-dark)">AMOS AI Analysis</h3>
<p style="color:var(--text-muted);font-size:var(--text-sm);line-height:1.6">Add AI analysis to your order. Object detection, anomaly alerts, change detection, risk scoring. Automated reports.</p>
<a href="/for-organisations/#ai" style="color:var(--blue);font-weight:600;font-size:var(--text-sm);text-decoration:none">Learn more →</a>
</div>
</div>
<!-- ECOSYSTEM CLARIFICATION -->
<div style="background:var(--bg-white);border-radius:var(--radius-card);padding:32px;border:2px solid var(--blue);border-opacity:.15">
<p style="font-size:.78rem;font-weight:700;color:var(--blue);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px">The quiXzoom Ecosystem — Three Layers</p>
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px">
<div style="padding:20px;background:rgba(0,102,255,.04);border-radius:12px;border-left:4px solid var(--blue)">
<div style="font-size:1.1rem;font-weight:800;color:var(--text-dark);margin-bottom:6px">quiXzoom</div>
<div style="font-size:.85rem;color:var(--text-muted);line-height:1.6;margin-bottom:8px">Raw field data collection. Verified Zoomers. Geotagged photos delivered in hours.</div>
<div style="font-size:.75rem;color:var(--blue);font-weight:600">For: Everyone</div>
</div>
<div style="padding:20px;background:rgba(0,102,255,.04);border-radius:12px;border-left:4px solid #7B61FF">
<div style="font-size:1.1rem;font-weight:800;color:var(--text-dark);margin-bottom:6px">AMOS AI</div>
<div style="font-size:.85rem;color:var(--text-muted);line-height:1.6;margin-bottom:8px">AI analysis engine. Object detection, anomaly alerts, change detection, risk scoring on your data.</div>
<div style="font-size:.75rem;color:#7B61FF;font-weight:600">For: Data owners & developers</div>
</div>
<div style="padding:20px;background:rgba(0,102,255,.04);border-radius:12px;border-left:4px solid #00C853">
<div style="font-size:1.1rem;font-weight:800;color:var(--text-dark);margin-bottom:6px">Landvex</div>
<div style="font-size:.85rem;color:var(--text-muted);line-height:1.6;margin-bottom:8px">Business intelligence. Decision support, control intelligence, strategic insights for enterprise & government.</div>
<div style="font-size:.75rem;color:#00C853;font-weight:600">For: Enterprise, Government, Infrastructure</div>
</div>
</div>
<p style="margin-top:16px;font-size:.8rem;color:var(--text-muted);text-align:center">Start with quiXzoom raw data → Add AMOS AI analysis → Upgrade to Landvex intelligence</p>
</div>
</div>
</section>
<!-- STATS -->
<section id="stats">
<div class="container">
<div class="stats-grid">
<div class="stat-item fade-in" style="cursor:pointer" onclick="document.getElementById('how').scrollIntoView({behavior:'smooth'})"><span class="stat-value">~30 min</span><span class="stat-label">Average mission time</span></div>
<div class="stat-item fade-in" style="cursor:pointer" onclick="document.getElementById('how').scrollIntoView({behavior:'smooth'})"><span class="stat-value">30120</span><span class="stat-label">Per mission</span></div>
<div class="stat-item fade-in" style="cursor:pointer" onclick="document.getElementById('how').scrollIntoView({behavior:'smooth'})"><span class="stat-value">$30120</span><span class="stat-label">Per mission</span></div>
<div class="stat-item fade-in" style="cursor:pointer" onclick="document.getElementById('how').scrollIntoView({behavior:'smooth'})"><span class="stat-value">Aug 2026</span><span class="stat-label">Launching in Sweden</span></div>
<div class="stat-item fade-in" style="cursor:pointer" onclick="document.getElementById('how').scrollIntoView({behavior:'smooth'})"><span class="stat-value">100%</span><span class="stat-label">Paid on approval</span></div>
</div>
@@ -885,7 +997,7 @@ html,body{overflow-x:clip}
<div class="proof-card fade-in">
<div style="font-size:2rem;margin-bottom:12px">💰</div>
<h3 style="font-size:var(--text-lg);margin-bottom:8px">Weekly payouts</h3>
<p style="color:var(--text-muted);font-size:var(--text-sm)">Reach 250 Credits (250) and get paid automatically every Monday via Stripe Connect.</p>
<p style="color:var(--text-muted);font-size:var(--text-sm)">Reach 250 Credits ($250) and get paid automatically every Monday via Stripe Connect.</p>
</div>
</div>
<div class="proof-logos">
@@ -1165,7 +1277,7 @@ html,body{overflow-x:clip}
function qxCalcUpdate(){
var m=parseInt(document.getElementById('calc-missions').value);
var r=parseInt(document.getElementById('calc-reward').value);
var loc=window.QX_CURRENT_LOCALE||{symbol:'',currency:'EUR'};
var loc=window.QX_CURRENT_LOCALE||{symbol:'$',currency:'USD'};
var monthly=Math.round(m*r*4.3);
document.getElementById('calc-missions-val').textContent=m;
document.getElementById('calc-reward-val').textContent=loc.symbol+r;
@@ -1403,30 +1515,42 @@ document.addEventListener('qx:market',function(){qxCalcUpdate();});
</div>
</div><!-- /footer-top -->
<div style="border-bottom:1px solid rgba(10,10,10,.07)">
<div class="footer-bottom" style="padding-top:16px;padding-bottom:16px">
<div class="footer-lang-row">
<span class="fl-lbl"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10z"/></svg></span>
<a href="https://www.quixzoom.com/" class="flang active">EN</a>
<a href="/markets/se/" class="flang">🇸🇪 Sverige</a>
<a href="/markets/nl/" class="flang">🇳🇱 NL</a>
<a href="/markets/th/" class="flang">🇹🇭 TH</a>
<a href="/markets/ng/" class="flang">🇳🇬 NG</a>
<a href="/markets/ke/" class="flang">🇰🇪 KE</a>
<!-- MICROSOFT-STYLE FOOTER -->
<div style="border-top:1px solid rgba(10,10,10,.08);padding:20px 32px;max-width:1200px;margin:0 auto">
<!-- Row 1: Language selector (clean, Microsoft-style) -->
<div style="display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(10,10,10,.06)">
<span style="font-size:.8rem;color:var(--text-muted)">Language:</span>
<a href="https://www.quixzoom.com/" style="font-size:.8rem;color:var(--text-dark);font-weight:600;text-decoration:none">English (US)</a>
<span style="color:rgba(10,10,10,.2)">|</span>
<a href="https://quixzoom.se/" style="font-size:.8rem;color:var(--text-muted);text-decoration:none">Svenska</a>
<span style="color:rgba(10,10,10,.2)">|</span>
<a href="https://quixzoom.de/" style="font-size:.8rem;color:var(--text-muted);text-decoration:none">Deutsch</a>
<span style="color:rgba(10,10,10,.2)">|</span>
<a href="https://quixzoom.nl/" style="font-size:.8rem;color:var(--text-muted);text-decoration:none">Nederlands</a>
<span style="color:rgba(10,10,10,.2)">|</span>
<a href="https://quixzoom.fr/" style="font-size:.8rem;color:var(--text-muted);text-decoration:none">Français</a>
</div>
<!-- Row 2: Company info (single, clear message) -->
<div style="display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px">
<div>
<p style="font-size:.75rem;color:rgba(10,10,10,.55);line-height:1.6;margin:0">
<strong style="color:rgba(10,10,10,.75)">quiXzoom Inc</strong> — A US company. Operated in Sweden by Landvex AB.<br>
Raw field data collection. <a href="https://www.landvex.com" style="color:var(--blue);text-decoration:none">Need intelligence? → Landvex</a>
</p>
</div>
<div style="display:flex;gap:16px;flex-wrap:wrap">
<a href="/privacy/" style="font-size:.75rem;color:rgba(10,10,10,.55);text-decoration:none">Privacy</a>
<a href="/terms/" style="font-size:.75rem;color:rgba(10,10,10,.55);text-decoration:none">Terms</a>
<a href="/security" style="font-size:.75rem;color:rgba(10,10,10,.55);text-decoration:none">Security</a>
<a href="/support" style="font-size:.75rem;color:rgba(10,10,10,.55);text-decoration:none">Support</a>
</div>
</div>
</div>
<div style="border-top:1px solid rgba(10,10,10,.07);padding:20px 32px;max-width:1200px;margin:0 auto">
<p style="font-size:.8rem;color:rgba(10,10,10,.55);line-height:1.6"><strong style="color:rgba(10,10,10,.75)">quiXzoom delivers raw field data. Landvex delivers decision intelligence.</strong> Need analysis, not just photos? → <a href="https://www.landvex.com" style="color:var(--blue);font-weight:600;text-decoration:none">landvex.com</a></p>
</div>
<div class="footer-bottom">
<p class="footer-copy">© 2026 quiXzoom · Operated by Landvex AB · <em>Raw data by quiXzoom. Intelligence by Landvex.</em></p>
<div class="footer-legal-links">
<a href="/privacy/">Privacy</a>
<a href="/terms/">Terms</a>
<a href="/security">Security</a>
<a href="/support">Support</a>
<!-- Row 3: Copyright -->
<div style="margin-top:12px;padding-top:12px;border-top:1px solid rgba(10,10,10,.06)">
<p style="font-size:.7rem;color:rgba(10,10,10,.4);margin:0">© 2026 quiXzoom Inc. All rights reserved.</p>
</div>
</div>
@@ -1469,7 +1593,7 @@ const DATA = {
2: {
type: 'Step 2', title: 'Selecting and claiming a mission',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">Missions are displayed on a map as markers. Each marker shows the mission type, distance from you, estimated time, and compensation. You claim the missions you want — no assignment from quiXzoom.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">~30 min</div><div class="layer-kpi-lbl">Average mission</div></div><div class="layer-kpi"><div class="layer-kpi-val">330</div><div class="layer-kpi-lbl">Typical range per mission</div></div><div class="layer-kpi"><div class="layer-kpi-val">Your choice</div><div class="layer-kpi-lbl">No forced assignments</div></div></div>` },
{ tab: '1 · Overview', html: `<p class="layer-lead">Missions are displayed on a map as markers. Each marker shows the mission type, distance from you, estimated time, and compensation. You claim the missions you want — no assignment from quiXzoom.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">~30 min</div><div class="layer-kpi-lbl">Average mission</div></div><div class="layer-kpi"><div class="layer-kpi-val">$330</div><div class="layer-kpi-lbl">Typical range per mission</div></div><div class="layer-kpi"><div class="layer-kpi-val">Your choice</div><div class="layer-kpi-lbl">No forced assignments</div></div></div>` },
{ tab: '2 · The mission brief', html: `<p class="layer-lead">Every mission has a brief that tells you exactly what is required before you claim it. There are no surprises.</p><p class="layer-h3">What the brief contains</p><ul class="layer-ul"><li>Location — exact address or area, shown on map with navigation link</li><li>Documentation type — which angles, elements and coverage are required</li><li>Example images — visual reference for each required shot</li><li>Time window — how long you have to complete and submit</li><li>Compensation — the exact amount you receive on approval</li><li>Difficulty rating — estimated skill level and time required</li><li>Access notes — any known access restrictions or safety guidance</li></ul>` },
{ tab: '3 · Claiming', html: `<p class="layer-lead">Claiming reserves the mission for you within a defined time window. Unclaimed missions are visible to all Zoomers in range simultaneously.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">1</div><div class="layer-step-body"><p class="layer-step-title">Browse the map</p><p class="layer-step-desc">Missions in your zone appear as markers. Filter by type, compensation or distance.</p></div></div><div class="layer-step"><div class="layer-step-num">2</div><div class="layer-step-body"><p class="layer-step-title">Read the brief</p><p class="layer-step-desc">Review requirements, example images and compensation before claiming. No obligation.</p></div></div><div class="layer-step"><div class="layer-step-num">3</div><div class="layer-step-body"><p class="layer-step-title">Claim</p><p class="layer-step-desc">Claiming starts your time window. The mission is reserved for you. Other Zoomers cannot claim it during your window.</p></div></div><div class="layer-step"><div class="layer-step-num">4</div><div class="layer-step-body"><p class="layer-step-title">Navigate and document</p><p class="layer-step-desc">App guides you to location and shows required shots as you capture them.</p></div></div><div class="layer-step"><div class="layer-step-num">5</div><div class="layer-step-body"><p class="layer-step-title">Submit</p><p class="layer-step-desc">Submit within your time window. AI review begins immediately.</p></div></div></div>` },
{ tab: '4 · Competition', html: `<p class="layer-lead">Some missions allow multiple Zoomer submissions — the fastest and highest-quality earns most. Understanding competition dynamics helps you maximise earnings.</p><p class="layer-h3">Mission types by competition model</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Type</th><th>Competition model</th><th>Best strategy</th></tr><tr><td>Standard</td><td>First valid submission wins full fee</td><td>Speed matters — claim and go immediately</td></tr><tr><td>Multi-submission</td><td>Multiple submissions accepted, declining fee</td><td>Quality matters — take your time</td></tr><tr><td>Surge</td><td>Large event, many locations, flat fee</td><td>Volume strategy — complete as many as possible</td></tr><tr><td>Premium</td><td>Single submission, higher fee, quality threshold</td><td>Specialisation required — only for rated Zoomers</td></tr></table></div>` },
@@ -1496,10 +1620,10 @@ const DATA = {
student: {
type: 'Zoomer profile', title: 'Student · Part-time Zoomer',
layers: [
{ tab: '1 · Profile', html: `<p class="layer-lead">Students are the most active Zoomer demographic in beta testing. Flexible schedules, local knowledge, and smartphone-native — they fit the platform naturally.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">34</div><div class="layer-kpi-lbl">Missions per week</div></div><div class="layer-kpi"><div class="layer-kpi-val">60120</div><div class="layer-kpi-lbl">Monthly earnings (est.)</div></div><div class="layer-kpi"><div class="layer-kpi-val">~2h</div><div class="layer-kpi-lbl">Time invested per week</div></div></div>` },
{ tab: '2 · Typical week', html: `<p class="layer-lead">A typical student Zoomer fits missions into their existing daily movement — to lectures, to the library, back home.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">Mon</div><div class="layer-step-body"><p class="layer-step-title">Morning: 1 mission on the way to campus</p><p class="layer-step-desc">Infrastructure mission near the route. 20 minutes, 8. Submitted between lectures.</p></div></div><div class="layer-step"><div class="layer-step-num">Wed</div><div class="layer-step-body"><p class="layer-step-title">Lunchtime: 2 missions in town</p><p class="layer-step-desc">Two real estate missions in a nearby block. 40 minutes combined, 14 total.</p></div></div><div class="layer-step"><div class="layer-step-num">Fri</div><div class="layer-step-body"><p class="layer-step-title">Afternoon: 1 surge mission</p><p class="layer-step-desc">Insurance surge event posted — storm damage documentation nearby. Highest pay this week: 22.</p></div></div></div><p class="layer-h3">Total: ~44 this week, ~2 hours invested</p>` },
{ tab: '1 · Profile', html: `<p class="layer-lead">Students are the most active Zoomer demographic in beta testing. Flexible schedules, local knowledge, and smartphone-native — they fit the platform naturally.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">34</div><div class="layer-kpi-lbl">Missions per week</div></div><div class="layer-kpi"><div class="layer-kpi-val">$60120</div><div class="layer-kpi-lbl">Monthly earnings (est.)</div></div><div class="layer-kpi"><div class="layer-kpi-val">~2h</div><div class="layer-kpi-lbl">Time invested per week</div></div></div>` },
{ tab: '2 · Typical week', html: `<p class="layer-lead">A typical student Zoomer fits missions into their existing daily movement — to lectures, to the library, back home.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">Mon</div><div class="layer-step-body"><p class="layer-step-title">Morning: 1 mission on the way to campus</p><p class="layer-step-desc">Infrastructure mission near the route. 20 minutes, $8. Submitted between lectures.</p></div></div><div class="layer-step"><div class="layer-step-num">Wed</div><div class="layer-step-body"><p class="layer-step-title">Lunchtime: 2 missions in town</p><p class="layer-step-desc">Two real estate missions in a nearby block. 40 minutes combined, $14 total.</p></div></div><div class="layer-step"><div class="layer-step-num">Fri</div><div class="layer-step-body"><p class="layer-step-title">Afternoon: 1 surge mission</p><p class="layer-step-desc">Insurance surge event posted — storm damage documentation nearby. Highest pay this week: $22.</p></div></div></div><p class="layer-h3">Total: ~$44 this week, ~2 hours invested</p>` },
{ tab: '3 · Equipment used', html: `<p class="layer-lead">iPhone 14 (standard lens). No accessories. No extra apps. Standard camera, standard settings.</p><ul class="layer-ul"><li>Photos shot at maximum native resolution</li><li>Location services always on while using quiXzoom</li><li>2GB free storage maintained</li><li>No tripod, no gimbal — all handheld</li></ul>` },
{ tab: '4 · Earnings breakdown', html: `<p class="layer-lead">Earnings vary significantly by mission type selected and regional availability.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Mission type</th><th>Avg. compensation</th><th>Avg. time</th><th>/hour equivalent</th></tr><tr><td>Infrastructure (road)</td><td>5</td><td>15 min</td><td>20/h</td></tr><tr><td>Real estate (façade)</td><td>8</td><td>20 min</td><td>24/h</td></tr><tr><td>Insurance (surge)</td><td>18</td><td>25 min</td><td>43/h</td></tr><tr><td>Verification</td><td>4</td><td>10 min</td><td>24/h</td></tr></table></div>` },
{ tab: '4 · Earnings breakdown', html: `<p class="layer-lead">Earnings vary significantly by mission type selected and regional availability.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Mission type</th><th>Avg. compensation</th><th>Avg. time</th><th>$/hour equivalent</th></tr><tr><td>Infrastructure (road)</td><td>$5</td><td>15 min</td><td>$20/h</td></tr><tr><td>Real estate (façade)</td><td>$8</td><td>20 min</td><td>$24/h</td></tr><tr><td>Insurance (surge)</td><td>$18</td><td>25 min</td><td>$43/h</td></tr><tr><td>Verification</td><td>$4</td><td>10 min</td><td>$24/h</td></tr></table></div>` },
{ tab: '5 · Tax guide', html: `<p class="layer-lead">Tax rules depend on your country of residence. quiXzoom provides annual earnings statements in all required formats.</p><p id="qx-tax-note" style="margin:12px 0;padding:12px 16px;background:#f7f7f5;border-radius:8px;font-size:.875rem;">Select your market above to see local tax guidance.</p><p class="layer-p"><em>General information only — consult a qualified local tax advisor for your situation.</em></p>` },
{ tab: '6 · Rating building', html: `<p class="layer-lead">A high approval rate unlocks better missions. For students starting out, consistency matters more than volume.</p><ul class="layer-ul"><li>Read every brief carefully before claiming</li><li>Never claim if you can't complete within the time window</li><li>When in doubt about quality — retake, don't submit</li><li>Review rejection reasons immediately — patterns emerge quickly</li><li>3 months of consistent quality → Active tier → access to premium missions</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Join thousands of students on the waitlist</p><p class="layer-cta-sub">Register now. Missions go live August 2026. No commitment, no cost.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Register as a Zoomer →</a></div>` }
@@ -1508,10 +1632,10 @@ const DATA = {
driver: {
type: 'Zoomer profile', title: 'Delivery driver · Route-integrated Zoomer',
layers: [
{ tab: '1 · Profile', html: `<p class="layer-lead">Delivery drivers and couriers are among the highest-earning Zoomer profiles. They pass through multiple mission zones every working day — and the marginal cost of completing a mission on route is nearly zero.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">58</div><div class="layer-kpi-lbl">Missions per week (on-route)</div></div><div class="layer-kpi"><div class="layer-kpi-val">120280</div><div class="layer-kpi-lbl">Monthly earnings (est.)</div></div><div class="layer-kpi"><div class="layer-kpi-val">~3 min</div><div class="layer-kpi-lbl">Added time per on-route mission</div></div></div>` },
{ tab: '1 · Profile', html: `<p class="layer-lead">Delivery drivers and couriers are among the highest-earning Zoomer profiles. They pass through multiple mission zones every working day — and the marginal cost of completing a mission on route is nearly zero.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">58</div><div class="layer-kpi-lbl">Missions per week (on-route)</div></div><div class="layer-kpi"><div class="layer-kpi-val">$120280</div><div class="layer-kpi-lbl">Monthly earnings (est.)</div></div><div class="layer-kpi"><div class="layer-kpi-val">~3 min</div><div class="layer-kpi-lbl">Added time per on-route mission</div></div></div>` },
{ tab: '2 · Route integration', html: `<p class="layer-lead">The key insight: missions that are already on your route take near-zero additional time. The mission is there; you're passing it anyway.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">1</div><div class="layer-step-body"><p class="layer-step-title">Open quiXzoom before your shift</p><p class="layer-step-desc">Browse missions on the map overlaid on your planned route. Identify 35 that are directly on path.</p></div></div><div class="layer-step"><div class="layer-step-num">2</div><div class="layer-step-body"><p class="layer-step-title">Claim as you approach</p><p class="layer-step-desc">Claim each mission when you're 510 minutes away. Keeps time window comfortable.</p></div></div><div class="layer-step"><div class="layer-step-num">3</div><div class="layer-step-body"><p class="layer-step-title">Stop, shoot, go</p><p class="layer-step-desc">A simple façade mission: pull up, 4 photos, submit. 35 minutes. You're moving again.</p></div></div></div>` },
{ tab: '3 · Best mission types', html: `<p class="layer-lead">Not all missions fit the driver workflow equally well. These work best.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Mission type</th><th>Fit for drivers</th><th>Why</th></tr><tr><td>Verification (address check)</td><td>⭐⭐⭐⭐⭐</td><td>Already stopping at addresses</td></tr><tr><td>Real estate (exterior)</td><td>⭐⭐⭐⭐</td><td>Drive-by documentation, no entry needed</td></tr><tr><td>Urban & streets</td><td>⭐⭐⭐⭐</td><td>Pass through these zones anyway</td></tr><tr><td>Infrastructure</td><td>⭐⭐⭐</td><td>Often near delivery zones</td></tr><tr><td>Incident (surge)</td><td>⭐⭐⭐⭐⭐</td><td>Already in the area when events happen</td></tr></table></div>` },
{ tab: '4 · Earnings model', html: `<p class="layer-lead">Route-integrated missions have an exceptional earnings-to-time ratio because the travel cost is zero.</p><div class="layer-block"><p class="layer-block-title">Example shift: 8-hour delivery day</p><ul class="layer-ul"><li>5 verification missions on delivery routes: 5 × €4 = €20</li><li>2 exterior documentation missions: 2 × €7 = €14</li><li>1 urban survey cluster (3 adjacent buildings): 18</li><li>Total added: 52 for ~25 minutes of additional activity</li></ul></div>` },
{ tab: '4 · Earnings model', html: `<p class="layer-lead">Route-integrated missions have an exceptional earnings-to-time ratio because the travel cost is zero.</p><div class="layer-block"><p class="layer-block-title">Example shift: 8-hour delivery day</p><ul class="layer-ul"><li>5 verification missions on delivery routes: 5 × $4 = $20</li><li>2 exterior documentation missions: 2 × $7 = $14</li><li>1 urban survey cluster (3 adjacent buildings): $18</li><li>Total added: $52 for ~25 minutes of additional activity</li></ul></div>` },
{ tab: '5 · Platform rules for drivers', html: `<p class="layer-lead">Using quiXzoom while on a delivery shift: rules to follow.</p><ul class="layer-ul"><li>Never compromise your delivery SLAs for a quiXzoom mission — deliveries first</li><li>Do not stop in prohibited areas to complete a mission</li><li>Never use a handheld device while driving — only stop at safe, legal locations</li><li>Check your employment contract: most delivery platform contracts do not restrict secondary income activities during breaks</li></ul>` },
{ tab: '6 · Tier progression', html: `<p class="layer-lead">Regular route-based Zoomers typically reach Active tier within 68 weeks, unlocking premium missions.</p><ul class="layer-ul"><li>Supplementary → Active: ~50 approved missions with &gt;85% approval rate</li><li>Active → Professional: ~200 approved missions with &gt;92% approval rate</li><li>Professional tier: access to premium infrastructure missions, priority claim windows, compensation boosts</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Your route is already worth money</p><p class="layer-cta-sub">Register now. The missions will be live on your delivery routes from August 2026.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Register as a Zoomer →</a></div>` }
@@ -1520,8 +1644,8 @@ const DATA = {
retired: {
type: 'Zoomer profile', title: 'Retired · Neighbourhood Zoomer',
layers: [
{ tab: '1 · Profile', html: `<p class="layer-lead">Retired Zoomers are among the most consistent performers on the platform. Deep local knowledge, predictable daily routines, and patient attention to detail produce high approval rates.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">25</div><div class="layer-kpi-lbl">Missions per week</div></div><div class="layer-kpi"><div class="layer-kpi-val">40160</div><div class="layer-kpi-lbl">Monthly earnings (est.)</div></div><div class="layer-kpi"><div class="layer-kpi-val">92%+</div><div class="layer-kpi-lbl">Typical approval rate</div></div></div>` },
{ tab: '2 · A typical day', html: `<p class="layer-lead">The quiXzoom approach fits naturally into a walk-based daily routine without changing it materially.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">9:00</div><div class="layer-step-body"><p class="layer-step-title">Morning check</p><p class="layer-step-desc">Open app over coffee. See 23 missions within a 1km walk from home. Claim one.</p></div></div><div class="layer-step"><div class="layer-step-num">10:30</div><div class="layer-step-body"><p class="layer-step-title">Morning walk</p><p class="layer-step-desc">Route passes the mission location. Stop, photograph according to brief, submit. Walk continues.</p></div></div><div class="layer-step"><div class="layer-step-num">11:00</div><div class="layer-step-body"><p class="layer-step-title">Review notification</p><p class="layer-step-desc">Submission approved. 7 credited. Payment arrives in bank account tomorrow.</p></div></div></div>` },
{ tab: '1 · Profile', html: `<p class="layer-lead">Retired Zoomers are among the most consistent performers on the platform. Deep local knowledge, predictable daily routines, and patient attention to detail produce high approval rates.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">25</div><div class="layer-kpi-lbl">Missions per week</div></div><div class="layer-kpi"><div class="layer-kpi-val">$40160</div><div class="layer-kpi-lbl">Monthly earnings (est.)</div></div><div class="layer-kpi"><div class="layer-kpi-val">92%+</div><div class="layer-kpi-lbl">Typical approval rate</div></div></div>` },
{ tab: '2 · A typical day', html: `<p class="layer-lead">The quiXzoom approach fits naturally into a walk-based daily routine without changing it materially.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">9:00</div><div class="layer-step-body"><p class="layer-step-title">Morning check</p><p class="layer-step-desc">Open app over coffee. See 23 missions within a 1km walk from home. Claim one.</p></div></div><div class="layer-step"><div class="layer-step-num">10:30</div><div class="layer-step-body"><p class="layer-step-title">Morning walk</p><p class="layer-step-desc">Route passes the mission location. Stop, photograph according to brief, submit. Walk continues.</p></div></div><div class="layer-step"><div class="layer-step-num">11:00</div><div class="layer-step-body"><p class="layer-step-title">Review notification</p><p class="layer-step-desc">Submission approved. $7 credited. Payment arrives in bank account tomorrow.</p></div></div></div>` },
{ tab: '3 · Why approval rates are high', html: `<p class="layer-lead">Retired Zoomers consistently achieve the highest approval rates on the platform. The reasons are structural.</p><ul class="layer-ul"><li>No time pressure — time window is comfortable, no rushing</li><li>Attention to detail — brief is read carefully, all angles completed</li><li>Local knowledge — know exactly where things are, less navigation uncertainty</li><li>Calm capture conditions — not multitasking, images are sharp and well-framed</li><li>Consistency — same routes, same conditions, predictable quality</li></ul>` },
{ tab: '4 · Suitable mission types', html: `<p class="layer-lead">Infrastructure and urban missions within walking distance are the natural fit.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Mission type</th><th>Suitability</th><th>Note</th></tr><tr><td>Infrastructure (road, pavement)</td><td>⭐⭐⭐⭐⭐</td><td>Walking speed ideal for pavement-level documentation</td></tr><tr><td>Urban & streets</td><td>⭐⭐⭐⭐⭐</td><td>Local knowledge advantage</td></tr><tr><td>Real estate (exterior)</td><td>⭐⭐⭐⭐</td><td>No access needed, exterior only</td></tr><tr><td>Verification</td><td>⭐⭐⭐⭐</td><td>Local area knowledge invaluable</td></tr></table></div>` },
{ tab: '5 · Social aspect', html: `<p class="layer-lead">Several retired beta Zoomers noted an unexpected benefit: purpose and local contribution.</p><div class="layer-quote"><p>"I walk past the same bridge every morning anyway. Now I'm documenting it for the municipality. It feels like I'm contributing something, not just walking."</p></div><div class="layer-quote"><p>"I know this neighbourhood better than anyone. It turns out that local knowledge is worth money. Who knew."</p></div>` },
@@ -1535,10 +1659,10 @@ const DATA = {
infrastructure: {
type: 'Mission category', title: 'Infrastructure',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">Infrastructure missions are the backbone of the quiXzoom platform. They are recurring, predictable, and distributed across every populated area. Clients include municipalities, national road agencies, utility operators and bridge authorities.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">525</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">2045 min</div><div class="layer-kpi-lbl">Average mission time</div></div><div class="layer-kpi"><div class="layer-kpi-val">Recurring</div><div class="layer-kpi-lbl">Same assets, annual cycles</div></div></div><div class="layer-badge-row"><span class="layer-badge">Roads & pavements</span><span class="layer-badge">Bridges</span><span class="layer-badge">Drainage</span><span class="layer-badge">Street lighting</span><span class="layer-badge">Utility cabinets</span><span class="layer-badge">Flood infrastructure</span></div>` },
{ tab: '1 · Overview', html: `<p class="layer-lead">Infrastructure missions are the backbone of the quiXzoom platform. They are recurring, predictable, and distributed across every populated area. Clients include municipalities, national road agencies, utility operators and bridge authorities.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">$525</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">2045 min</div><div class="layer-kpi-lbl">Average mission time</div></div><div class="layer-kpi"><div class="layer-kpi-val">Recurring</div><div class="layer-kpi-lbl">Same assets, annual cycles</div></div></div><div class="layer-badge-row"><span class="layer-badge">Roads & pavements</span><span class="layer-badge">Bridges</span><span class="layer-badge">Drainage</span><span class="layer-badge">Street lighting</span><span class="layer-badge">Utility cabinets</span><span class="layer-badge">Flood infrastructure</span></div>` },
{ tab: '2 · What you document', html: `<p class="layer-lead">Infrastructure missions specify exactly which elements need to be captured. No guessing required.</p><p class="layer-h3">Example: Road surface mission</p><ul class="layer-ul"><li>Full-length view down the road segment (both directions)</li><li>Close-up of any visible surface damage (cracks, potholes, deformation)</li><li>Drainage gully condition (cover present, obstruction)</li><li>Kerb condition at both sides</li></ul><p class="layer-h3">Example: Bridge inspection mission</p><ul class="layer-ul"><li>Full span view from each abutment</li><li>Underside if accessible from public area</li><li>Bearing condition (visible from bank)</li><li>Any visible corrosion, cracking or vegetation growth</li></ul>` },
{ tab: '3 · Equipment needed', html: `<p class="layer-lead">Standard smartphone. No specialist equipment for most infrastructure missions.</p><ul class="layer-ul"><li>12MP camera or better — standard on all recent phones</li><li>Location services enabled — required for all missions</li><li>Good lighting — cloudy daylight is ideal; avoid harsh direct sun or night</li><li>Steady hands or flat surface for close-up shots</li></ul><p class="layer-h3">Advanced infrastructure missions</p><p class="layer-p">Some higher-compensation missions specify minimum equipment (e.g. bridge inspection requiring access to a specific vantage point). These are clearly marked in the brief and are only available to rated Zoomers.</p>` },
{ tab: '4 · Compensation', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Infrastructure type</th><th>Typical compensation</th><th>Why</th></tr><tr><td>Road surface (50m segment)</td><td>47</td><td>Standard volume mission</td></tr><tr><td>Bridge (full exterior)</td><td>1220</td><td>More complex, higher orderer value</td></tr><tr><td>Utility cabinet</td><td>35</td><td>Quick, high volume</td></tr><tr><td>Flood infrastructure</td><td>815</td><td>Seasonal priority, higher demand</td></tr><tr><td>Premium bridge inspection</td><td>2550</td><td>Specialisation required, high orderer SLA</td></tr></table></div>` },
{ tab: '4 · Compensation', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Infrastructure type</th><th>Typical compensation</th><th>Why</th></tr><tr><td>Road surface (50m segment)</td><td>$47</td><td>Standard volume mission</td></tr><tr><td>Bridge (full exterior)</td><td>$1220</td><td>More complex, higher orderer value</td></tr><tr><td>Utility cabinet</td><td>$35</td><td>Quick, high volume</td></tr><tr><td>Flood infrastructure</td><td>$815</td><td>Seasonal priority, higher demand</td></tr><tr><td>Premium bridge inspection</td><td>$2550</td><td>Specialisation required, high orderer SLA</td></tr></table></div>` },
{ tab: '5 · Recurring missions', html: `<p class="layer-lead">Infrastructure missions repeat on annual or semi-annual cycles. This means reliable, predictable income for Zoomers who know their local assets.</p><ul class="layer-ul"><li>Same bridges, same roads, same utility cabinets — every year</li><li>Zoomers who documented an asset before have priority access to re-documentation missions (coming Q4 2026)</li><li>Build a specialist route: know every asset in your area, check them annually</li></ul>` },
{ tab: '6 · AI review criteria', html: `<p class="layer-lead">Infrastructure AI review is based on specification compliance. Know the criteria before you shoot.</p><ul class="layer-ul"><li>All specified angles present and clearly legible</li><li>Asset occupies ≥40% of frame in required shots</li><li>No obstruction blocking the primary subject</li><li>Capture location within mission perimeter (verified by GPS)</li><li>Image sharpness above threshold (motion blur from handheld is the most common rejection reason)</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Infrastructure missions go live August 2026</p><p class="layer-cta-sub">Register now. Your neighbourhood has more infrastructure missions than you think.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
@@ -1547,10 +1671,10 @@ const DATA = {
realestate: {
type: 'Mission category', title: 'Real estate',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">Real estate documentation missions cover facades, roofs (from street level), entrances, parking structures and commercial exteriors. Clients include property management companies, insurance firms and lenders.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">618</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">1530 min</div><div class="layer-kpi-lbl">Average mission time</div></div><div class="layer-kpi"><div class="layer-kpi-val">Urban</div><div class="layer-kpi-lbl">Highest density in cities</div></div></div>` },
{ tab: '1 · Overview', html: `<p class="layer-lead">Real estate documentation missions cover facades, roofs (from street level), entrances, parking structures and commercial exteriors. Clients include property management companies, insurance firms and lenders.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">$618</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">1530 min</div><div class="layer-kpi-lbl">Average mission time</div></div><div class="layer-kpi"><div class="layer-kpi-val">Urban</div><div class="layer-kpi-lbl">Highest density in cities</div></div></div>` },
{ tab: '2 · What you document', html: `<p class="layer-lead">Real estate missions are exterior-only. You never need to enter a building.</p><ul class="layer-ul"><li>All street-facing facades (usually 13 elevations visible from public land)</li><li>Main entrance — door condition, signage, accessibility</li><li>Roof edge if visible from street</li><li>Parking area (if specified)</li><li>Any visible damage, staining, structural concerns</li></ul><p class="layer-h3">What you do NOT need to do</p><ul class="layer-ul"><li>Enter the building</li><li>Speak to residents or tenants</li><li>Access the roof</li><li>Document interiors</li></ul>` },
{ tab: '3 · Urban clusters', html: `<p class="layer-lead">Real estate missions cluster in dense urban areas. A single city block can contain 510 missions. Plan routes to cover clusters for maximum earnings efficiency.</p><ul class="layer-ul"><li>Filter map by "Real estate" and zoom into your area</li><li>Identify clusters of 3+ adjacent missions</li><li>Claim all before walking — claim window is 2 hours</li><li>Document in sequence along the block</li></ul><p class="layer-h3">Typical cluster earnings</p><p class="layer-p">5 adjacent façade missions at 8 each = 40 for approximately 50 minutes of work in one block.</p>` },
{ tab: '4 · Compensation', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Property type</th><th>Typical compensation</th><th>Complexity</th></tr><tr><td>Residential terrace</td><td>58</td><td>Low — 12 elevations</td></tr><tr><td>Apartment block</td><td>1016</td><td>Medium — full exterior circuit</td></tr><tr><td>Commercial premises</td><td>814</td><td>Medium — signage, accessibility</td></tr><tr><td>Car park structure</td><td>1220</td><td>Higher — multiple levels visible</td></tr><tr><td>Industrial/warehouse</td><td>818</td><td>Variable — large exterior areas</td></tr></table></div>` },
{ tab: '3 · Urban clusters', html: `<p class="layer-lead">Real estate missions cluster in dense urban areas. A single city block can contain 510 missions. Plan routes to cover clusters for maximum earnings efficiency.</p><ul class="layer-ul"><li>Filter map by "Real estate" and zoom into your area</li><li>Identify clusters of 3+ adjacent missions</li><li>Claim all before walking — claim window is 2 hours</li><li>Document in sequence along the block</li></ul><p class="layer-h3">Typical cluster earnings</p><p class="layer-p">5 adjacent façade missions at $8 each = $40 for approximately 50 minutes of work in one block.</p>` },
{ tab: '4 · Compensation', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Property type</th><th>Typical compensation</th><th>Complexity</th></tr><tr><td>Residential terrace</td><td>$58</td><td>Low — 12 elevations</td></tr><tr><td>Apartment block</td><td>$1016</td><td>Medium — full exterior circuit</td></tr><tr><td>Commercial premises</td><td>$814</td><td>Medium — signage, accessibility</td></tr><tr><td>Car park structure</td><td>$1220</td><td>Higher — multiple levels visible</td></tr><tr><td>Industrial/warehouse</td><td>$818</td><td>Variable — large exterior areas</td></tr></table></div>` },
{ tab: '5 · Tips for high approval', html: `<ul class="layer-ul"><li>Shoot in flat, overcast daylight — avoids harsh shadows on facades</li><li>Stand far enough back to fit the full building in frame — the most common rejection reason is partial coverage</li><li>Shoot all elevations — even ones that look fine. The brief requires them</li><li>Include street context in at least one shot — confirms location</li><li>If access is blocked (parked vehicles, scaffolding) — note it in submission notes before submitting</li></ul>` },
{ tab: '6 · Insurance surge missions', html: `<p class="layer-lead">After weather events (storms, hail, flooding), insurance companies activate surge documentation missions for residential and commercial properties in the affected area. These pay 24× standard rates.</p><ul class="layer-ul"><li>Push notification sent immediately when surge missions activate in your area</li><li>Fastest submissions earn the highest compensation</li><li>No booking required — first valid submission accepted</li><li>Surge missions are time-sensitive — typically expire within 2448 hours</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Real estate missions in every city</p><p class="layer-cta-sub">Register now. Your neighbourhood's property portfolio is already a waiting mission list.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
@@ -1559,10 +1683,10 @@ const DATA = {
coastline: {
type: 'Mission category', title: 'Coastlines & nature',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">Coastal and environmental missions document shorelines, beaches, waterways, and natural habitats. Clients include environmental agencies, maritime authorities, conservation organisations and research institutions.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">830</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">3060 min</div><div class="layer-kpi-lbl">Average mission time</div></div><div class="layer-kpi"><div class="layer-kpi-val">Seasonal</div><div class="layer-kpi-lbl">Higher volume spring/summer</div></div></div>` },
{ tab: '1 · Overview', html: `<p class="layer-lead">Coastal and environmental missions document shorelines, beaches, waterways, and natural habitats. Clients include environmental agencies, maritime authorities, conservation organisations and research institutions.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">$830</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">3060 min</div><div class="layer-kpi-lbl">Average mission time</div></div><div class="layer-kpi"><div class="layer-kpi-val">Seasonal</div><div class="layer-kpi-lbl">Higher volume spring/summer</div></div></div>` },
{ tab: '2 · What you document', html: `<p class="layer-lead">Coastal missions focus on change detection and condition monitoring over time.</p><ul class="layer-ul"><li>Shoreline condition — erosion, accretion, new features</li><li>Beach profile — width, material, debris</li><li>Coastal structures — sea walls, groynes, breakwaters</li><li>Vegetation line — position and density</li><li>Water clarity (where specified)</li><li>Invasive species markers (flagged in specific missions)</li></ul>` },
{ tab: '3 · Who commissions these', html: `<div class="layer-badge-row"><span class="layer-badge">Environmental agencies</span><span class="layer-badge">Maritime authorities</span><span class="layer-badge">Conservation NGOs</span><span class="layer-badge">Research institutions</span><span class="layer-badge">Local councils</span><span class="layer-badge">Insurance (flood risk)</span></div><p class="layer-h3">Use cases</p><ul class="layer-ul"><li>Annual coastal monitoring programmes (same transects, year after year)</li><li>Post-storm damage assessment</li><li>Invasive species early detection surveys</li><li>Flood risk verification for insurance underwriting</li><li>Academic research support</li></ul>` },
{ tab: '4 · Compensation', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Mission type</th><th>Compensation</th></tr><tr><td>Coastal transect (100m)</td><td>1018</td></tr><tr><td>Beach condition survey</td><td>1220</td></tr><tr><td>River/waterway segment</td><td>815</td></tr><tr><td>Post-storm coastal assessment</td><td>2040</td></tr><tr><td>Habitat survey (specialist)</td><td>2550</td></tr></table></div>` },
{ tab: '4 · Compensation', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Mission type</th><th>Compensation</th></tr><tr><td>Coastal transect (100m)</td><td>$1018</td></tr><tr><td>Beach condition survey</td><td>$1220</td></tr><tr><td>River/waterway segment</td><td>$815</td></tr><tr><td>Post-storm coastal assessment</td><td>$2040</td></tr><tr><td>Habitat survey (specialist)</td><td>$2550</td></tr></table></div>` },
{ tab: '5 · Seasonal patterns', html: `<p class="layer-lead">Coastal missions peak in spring (post-winter assessment) and summer (active monitoring season). Plan your Zoomer activity around these peaks for maximum earnings.</p><ul class="layer-ul"><li>MarchApril: post-winter storm assessment missions — high compensation, surge pricing</li><li>MayAugust: regular monitoring cycles — consistent volume</li><li>OctoberNovember: pre-winter baseline documentation — another surge period</li><li>DecemberFebruary: lower volume, but ice and frost condition missions available in northern regions</li></ul>` },
{ tab: '6 · Safety', html: `<p class="layer-lead">Coastal environments have specific safety considerations. quiXzoom missions require documentation from safe, accessible public areas only.</p><ul class="layer-ul"><li>Never enter the water to complete a mission</li><li>Never approach unstable cliff edges or eroded banks</li><li>All missions specify safe capture positions — stay within these</li><li>Weather check required before coastal missions — wind speed and sea state indicated in brief</li><li>If conditions are unsafe: release the mission without penalty</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">The coastline nearest you is already a mission</p><p class="layer-cta-sub">Register interest. Coastal missions live from August 2026, starting in Sweden.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
@@ -1571,10 +1695,10 @@ const DATA = {
incident: {
type: 'Mission category', title: 'Incident & damage',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">Incident missions are activated immediately after weather events, fires, floods or other damage-causing events. They are the highest-paying mission type and are time-critical — the fastest Zoomers earn the most.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">1560</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">Speed</div><div class="layer-kpi-lbl">Fastest submission earns most</div></div><div class="layer-kpi"><div class="layer-kpi-val">Push alert</div><div class="layer-kpi-lbl">Instant notification to local Zoomers</div></div></div>` },
{ tab: '2 · How surge works', html: `<p class="layer-lead">When an insurance company detects a weather event or receives a cluster of claims in an area, they trigger a documentation surge campaign. Zoomers in the area receive a push notification immediately.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">1</div><div class="layer-step-body"><p class="layer-step-title">Event detected</p><p class="layer-step-desc">Storm, flood or fire event triggers campaign creation by insurance client. Happens within minutes of event.</p></div></div><div class="layer-step"><div class="layer-step-num">2</div><div class="layer-step-body"><p class="layer-step-title">Push notification to local Zoomers</p><p class="layer-step-desc">All Zoomers within the affected area receive alert: "Surge mission active near you — [amount] per approved submission."</p></div></div><div class="layer-step"><div class="layer-step-num">3</div><div class="layer-step-body"><p class="layer-step-title">First submission wins maximum</p><p class="layer-step-desc">Each address-level mission: first approved submission earns the maximum rate. Speed is directly rewarded.</p></div></div></div>` },
{ tab: '1 · Overview', html: `<p class="layer-lead">Incident missions are activated immediately after weather events, fires, floods or other damage-causing events. They are the highest-paying mission type and are time-critical — the fastest Zoomers earn the most.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">$1560</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">Speed</div><div class="layer-kpi-lbl">Fastest submission earns most</div></div><div class="layer-kpi"><div class="layer-kpi-val">Push alert</div><div class="layer-kpi-lbl">Instant notification to local Zoomers</div></div></div>` },
{ tab: '2 · How surge works', html: `<p class="layer-lead">When an insurance company detects a weather event or receives a cluster of claims in an area, they trigger a documentation surge campaign. Zoomers in the area receive a push notification immediately.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">1</div><div class="layer-step-body"><p class="layer-step-title">Event detected</p><p class="layer-step-desc">Storm, flood or fire event triggers campaign creation by insurance client. Happens within minutes of event.</p></div></div><div class="layer-step"><div class="layer-step-num">2</div><div class="layer-step-body"><p class="layer-step-title">Push notification to local Zoomers</p><p class="layer-step-desc">All Zoomers within the affected area receive alert: "Surge mission active near you — $[amount] per approved submission."</p></div></div><div class="layer-step"><div class="layer-step-num">3</div><div class="layer-step-body"><p class="layer-step-title">First submission wins maximum</p><p class="layer-step-desc">Each address-level mission: first approved submission earns the maximum rate. Speed is directly rewarded.</p></div></div></div>` },
{ tab: '3 · What you document', html: `<p class="layer-lead">Incident missions focus on visible external damage from public areas. No entry to buildings.</p><ul class="layer-ul"><li>Overall building condition from street</li><li>Visible damage: roof, facade, windows, structural elements</li><li>Water ingress evidence: staining, debris lines</li><li>Access road condition</li><li>Adjacent properties if specified</li></ul><p class="layer-h3">What the AI checks specifically</p><ul class="layer-ul"><li>Damage visible in frame</li><li>Capture timestamp within 48h of event</li><li>Location confirmed at the specified address</li><li>Full required angle coverage</li></ul>` },
{ tab: '4 · Compensation model', html: `<p class="layer-lead">Incident missions use a decay compensation model. First submission earns maximum; subsequent submissions earn less.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Submission order</th><th>Compensation (example 30 mission)</th></tr><tr><td>1st approved</td><td>30 (full rate)</td></tr><tr><td>2nd approved</td><td>18 (60%)</td></tr><tr><td>3rd approved</td><td>9 (30%)</td></tr><tr><td>4th+</td><td>4.50 (15%)</td></tr></table></div><p class="layer-p">The decay model incentivises speed. For insurance purposes, the first documentation before damage is cleared is most valuable.</p>` },
{ tab: '4 · Compensation model', html: `<p class="layer-lead">Incident missions use a decay compensation model. First submission earns maximum; subsequent submissions earn less.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Submission order</th><th>Compensation (example $30 mission)</th></tr><tr><td>1st approved</td><td>$30 (full rate)</td></tr><tr><td>2nd approved</td><td>$18 (60%)</td></tr><tr><td>3rd approved</td><td>$9 (30%)</td></tr><tr><td>4th+</td><td>$4.50 (15%)</td></tr></table></div><p class="layer-p">The decay model incentivises speed. For insurance purposes, the first documentation before damage is cleared is most valuable.</p>` },
{ tab: '5 · Safety rules', html: `<p class="layer-lead">After serious events (floods, fires, structural damage), safety is paramount. quiXzoom incident missions have mandatory safety rules.</p><ul class="layer-ul"><li>Never enter a flood-affected or fire-damaged building</li><li>Maintain safe distance from structurally compromised buildings</li><li>Do not enter areas cordoned by emergency services</li><li>Incident missions activate only in areas where general public access has been confirmed safe</li><li>If unsafe conditions: use "report unsafe" in the app — no penalty, mission is reassigned</li></ul>` },
{ tab: '6 · Enabling push alerts', html: `<p class="layer-lead">To receive surge notifications instantly when events happen near you, push alerts must be enabled.</p><ul class="layer-ul"><li>Enable push notifications for quiXzoom in your phone settings</li><li>Set your notification zone radius — larger radius = more surge events</li><li>Keep app installed and location services always-on</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Highest pay. Near you. Right now.</p><p class="layer-cta-sub">Register to get push alerts when surge missions activate in your area from August 2026.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
@@ -1583,10 +1707,10 @@ const DATA = {
verification: {
type: 'Mission category', title: 'Verification',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">Verification missions confirm that a specific address, premises or entity exists and matches available records. Clients include e-commerce platforms, banks, recruitment agencies and public sector bodies.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">38</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">~10 min</div><div class="layer-kpi-lbl">Average mission time</div></div><div class="layer-kpi"><div class="layer-kpi-val">Highest volume</div><div class="layer-kpi-lbl">Most missions available</div></div></div>` },
{ tab: '1 · Overview', html: `<p class="layer-lead">Verification missions confirm that a specific address, premises or entity exists and matches available records. Clients include e-commerce platforms, banks, recruitment agencies and public sector bodies.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">$38</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">~10 min</div><div class="layer-kpi-lbl">Average mission time</div></div><div class="layer-kpi"><div class="layer-kpi-val">Highest volume</div><div class="layer-kpi-lbl">Most missions available</div></div></div>` },
{ tab: '2 · What you verify', html: `<ul class="layer-ul"><li>Premises exists at the stated address</li><li>Correct trading name/signage visible</li><li>Business appears to be operating (lights on, activity visible)</li><li>Access point and entry condition</li><li>Any specified reference elements (brand colours, specific signage)</li></ul><p class="layer-h3">What you do NOT do</p><ul class="layer-ul"><li>Enter premises</li><li>Speak to anyone inside</li><li>Verify any financial or identity information</li></ul>` },
{ tab: '3 · Route integration', html: `<p class="layer-lead">Verification missions are ideal for route integration — especially for delivery workers already stopping at addresses.</p><p class="layer-p">If you're making a delivery to a street, there may be 25 verification missions for neighbouring premises on the same block. Check before leaving — claim them while you're there.</p>` },
{ tab: '4 · Compensation', html: `<p class="layer-lead">Lower per-mission but highest volume. Verification missions are optimised for quantity.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Verification type</th><th>Compensation</th></tr><tr><td>Address confirmation</td><td>34</td></tr><tr><td>Business premises check</td><td>46</td></tr><tr><td>Storefront documentation</td><td>58</td></tr><tr><td>Multi-element verification</td><td>610</td></tr></table></div>` },
{ tab: '4 · Compensation', html: `<p class="layer-lead">Lower per-mission but highest volume. Verification missions are optimised for quantity.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Verification type</th><th>Compensation</th></tr><tr><td>Address confirmation</td><td>$34</td></tr><tr><td>Business premises check</td><td>$46</td></tr><tr><td>Storefront documentation</td><td>$58</td></tr><tr><td>Multi-element verification</td><td>$610</td></tr></table></div>` },
{ tab: '5 · Privacy rules', html: `<p class="layer-lead">Verification missions have strict privacy rules. You document premises, not people.</p><ul class="layer-ul"><li>Never photograph identifiable individuals — if people are in shot, do not submit (blur or retake)</li><li>Never document interior spaces through windows</li><li>Only photograph from public land</li><li>Do not attempt to verify the identity of anyone at the premises</li></ul>` },
{ tab: '6 · AI review', html: `<p class="layer-lead">Verification AI review is the fastest on the platform — typically under 15 seconds.</p><ul class="layer-ul"><li>Address number or name visible in frame</li><li>Premises legible and identifiable</li><li>GPS confirms capture at the specified address</li><li>No people identifiable in frame</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">The most missions. The fastest approval.</p><p class="layer-cta-sub">Verification missions launch in Sweden August 1, 2026. More markets follow.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
@@ -1595,10 +1719,10 @@ const DATA = {
urban: {
type: 'Mission category', title: 'Urban & streets',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">Urban missions document street-level conditions: pavement quality, signage, accessibility, retail presence, and general urban environment. Clients include city planners, retail chains and transport authorities.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">515</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">1540 min</div><div class="layer-kpi-lbl">Average mission time</div></div><div class="layer-kpi"><div class="layer-kpi-val">City-dense</div><div class="layer-kpi-lbl">Highest density in urban centres</div></div></div>` },
{ tab: '1 · Overview', html: `<p class="layer-lead">Urban missions document street-level conditions: pavement quality, signage, accessibility, retail presence, and general urban environment. Clients include city planners, retail chains and transport authorities.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">$515</div><div class="layer-kpi-lbl">Typical compensation</div></div><div class="layer-kpi"><div class="layer-kpi-val">1540 min</div><div class="layer-kpi-lbl">Average mission time</div></div><div class="layer-kpi"><div class="layer-kpi-val">City-dense</div><div class="layer-kpi-lbl">Highest density in urban centres</div></div></div>` },
{ tab: '2 · What you document', html: `<ul class="layer-ul"><li>Pavement condition — surface quality, trip hazards, accessibility</li><li>Street signage — road signs, wayfinding, condition</li><li>Retail frontage — occupancy status, condition, branding</li><li>Accessibility features — dropped kerbs, tactile paving, ramps</li><li>Street furniture — benches, bins, cycle stands</li><li>Lighting — streetlight present and functional</li></ul>` },
{ tab: '3 · Walk-based workflow', html: `<p class="layer-lead">Urban missions are designed for walkers. A single high street can contain 1020 missions completed in one pass.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">1</div><div class="layer-step-body"><p class="layer-step-title">Plan a walk route through mission clusters</p><p class="layer-step-desc">Filter map by Urban. Find a street with 5+ adjacent missions.</p></div></div><div class="layer-step"><div class="layer-step-num">2</div><div class="layer-step-body"><p class="layer-step-title">Claim as you walk</p><p class="layer-step-desc">Claim each mission 23 minutes before you arrive. Submit as you pass.</p></div></div><div class="layer-step"><div class="layer-step-num">3</div><div class="layer-step-body"><p class="layer-step-title">One street, 4080</p><p class="layer-step-desc">A 1km high street walk with 10 missions at 58 each = 5080 in under 1 hour.</p></div></div></div>` },
{ tab: '4 · Compensation', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Urban mission type</th><th>Compensation</th></tr><tr><td>Pavement condition survey</td><td>47</td></tr><tr><td>Retail frontage check</td><td>58</td></tr><tr><td>Accessibility audit (20m segment)</td><td>812</td></tr><tr><td>High street condition survey</td><td>1220</td></tr></table></div>` },
{ tab: '3 · Walk-based workflow', html: `<p class="layer-lead">Urban missions are designed for walkers. A single high street can contain 1020 missions completed in one pass.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">1</div><div class="layer-step-body"><p class="layer-step-title">Plan a walk route through mission clusters</p><p class="layer-step-desc">Filter map by Urban. Find a street with 5+ adjacent missions.</p></div></div><div class="layer-step"><div class="layer-step-num">2</div><div class="layer-step-body"><p class="layer-step-title">Claim as you walk</p><p class="layer-step-desc">Claim each mission 23 minutes before you arrive. Submit as you pass.</p></div></div><div class="layer-step"><div class="layer-step-num">3</div><div class="layer-step-body"><p class="layer-step-title">One street, $4080</p><p class="layer-step-desc">A 1km high street walk with 10 missions at $58 each = $5080 in under 1 hour.</p></div></div></div>` },
{ tab: '4 · Compensation', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Urban mission type</th><th>Compensation</th></tr><tr><td>Pavement condition survey</td><td>$47</td></tr><tr><td>Retail frontage check</td><td>$58</td></tr><tr><td>Accessibility audit (20m segment)</td><td>$812</td></tr><tr><td>High street condition survey</td><td>$1220</td></tr></table></div>` },
{ tab: '5 · Privacy in urban environments', html: `<p class="layer-lead">Urban environments contain people. quiXzoom's AI review includes pedestrian detection — missions with identifiable individuals in primary focus are flagged.</p><ul class="layer-ul"><li>Capture when pedestrian traffic is low where possible</li><li>Use wide shots that keep people as background elements, not subjects</li><li>If someone is prominently in frame: wait 30 seconds and retake</li><li>You never need to photograph people — the mission is always about the built environment</li></ul>` },
{ tab: '6 · City planning missions', html: `<p class="layer-lead">Some urban missions are part of larger city planning studies commissioned by municipalities. These are higher-value and require a structured survey approach.</p><ul class="layer-ul"><li>Accessibility audit missions: document every accessibility feature along a defined route</li><li>Retail vacancy surveys: document occupancy status of every unit on a shopping street</li><li>Before/after infrastructure works: document condition before and after roadworks</li></ul><p class="layer-p">City planning missions are rated-only — available from Active tier upward.</p>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Every street you walk is potential earnings</p><p class="layer-cta-sub">Register interest. Urban missions launch August 2026 in Sweden, with more cities and markets to follow.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
@@ -1610,11 +1734,11 @@ const DATA = {
supplementary: {
type: 'Earnings tier', title: 'Supplementary — 24 missions/week',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">The Supplementary tier is the entry point. No minimum commitment, no schedule, no performance requirements beyond the standard approval rate.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">2080</div><div class="layer-kpi-lbl">Typical monthly earnings</div></div><div class="layer-kpi"><div class="layer-kpi-val">24</div><div class="layer-kpi-lbl">Missions per week</div></div><div class="layer-kpi"><div class="layer-kpi-val">~2h</div><div class="layer-kpi-lbl">Time per week</div></div></div>` },
{ tab: '1 · Overview', html: `<p class="layer-lead">The Supplementary tier is the entry point. No minimum commitment, no schedule, no performance requirements beyond the standard approval rate.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">$2080</div><div class="layer-kpi-lbl">Typical monthly earnings</div></div><div class="layer-kpi"><div class="layer-kpi-val">24</div><div class="layer-kpi-lbl">Missions per week</div></div><div class="layer-kpi"><div class="layer-kpi-val">~2h</div><div class="layer-kpi-lbl">Time per week</div></div></div>` },
{ tab: '2 · What you can access', html: `<ul class="layer-ul"><li>All standard mission categories (infrastructure, real estate, verification, urban, coastline)</li><li>Incident/surge missions when activated in your area</li><li>Standard compensation rates for all mission types</li></ul><p class="layer-h3">Not yet available (unlocks at Active tier)</p><ul class="layer-ul"><li>Premium missions (higher compensation, stricter specification)</li><li>Priority claim window on high-demand missions</li><li>Specialisation modules</li></ul>` },
{ tab: '3 · Path to Active', html: `<p class="layer-lead">Moving from Supplementary to Active tier unlocks significantly higher earnings potential.</p><p class="layer-h3">Requirements for Active tier</p><ul class="layer-ul"><li>50 approved missions (cumulative)</li><li>Approval rate above 85%</li><li>No active claim violations</li></ul><p class="layer-h3">How long does it take?</p><p class="layer-p">At 3 missions per week: approximately 4 months. At 5 missions per week: approximately 10 weeks.</p>` },
{ tab: '4 · Realistic earnings', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Missions/week</th><th>Avg. per mission</th><th>Monthly estimate</th></tr><tr><td>2</td><td>7</td><td>~56</td></tr><tr><td>3</td><td>7</td><td>~84</td></tr><tr><td>4</td><td>8</td><td>~128</td></tr></table></div><p class="layer-p">Including surge missions (12/month): add 2060 to monthly estimates.</p>` },
{ tab: '5 · Tax threshold guidance', html: `<p class="layer-lead">At Supplementary level, many Zoomers will earn below their country's minimum threshold for mandatory tax registration.</p><ul class="layer-ul"><li>Sweden: Grundavdrag ~17,500 SEK/year (~1,500/month). Supplementary earnings typically well below this.</li><li>Germany: Kleinunternehmer threshold 22,000/year. Not reached at this tier.</li><li>UK: Personal allowance £12,570/year. Supplementary Zoomer earnings far below this.</li></ul><p class="layer-p"><em>General information only — consult a local tax advisor for your situation.</em></p>` },
{ tab: '4 · Realistic earnings', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Missions/week</th><th>Avg. per mission</th><th>Monthly estimate</th></tr><tr><td>2</td><td>$7</td><td>~$56</td></tr><tr><td>3</td><td>$7</td><td>~$84</td></tr><tr><td>4</td><td>$8</td><td>~$128</td></tr></table></div><p class="layer-p">Including surge missions (12/month): add $2060 to monthly estimates.</p>` },
{ tab: '5 · Tax threshold guidance', html: `<p class="layer-lead">At Supplementary level, many Zoomers will earn below their country's minimum threshold for mandatory tax registration.</p><ul class="layer-ul"><li>Sweden: Grundavdrag ~17,500 SEK/year (~$1,500/month). Supplementary earnings typically well below this.</li><li>Germany: Kleinunternehmer threshold $22,000/year. Not reached at this tier.</li><li>UK: Personal allowance £12,570/year. Supplementary Zoomer earnings far below this.</li></ul><p class="layer-p"><em>General information only — consult a local tax advisor for your situation.</em></p>` },
{ tab: '6 · Getting the most from this tier', html: `<ul class="layer-ul"><li>Focus on approval rate over volume — every rejection at this tier costs relatively more</li><li>Stick to mission types you understand well until your rate is consistently above 85%</li><li>Enable push notifications — surge missions add disproportionate value at this tier</li><li>Plan: 50 approved missions is your target — set it as a goal and track progress</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Start here. No commitment.</p><p class="layer-cta-sub">Register interest. The Supplementary tier is open to everyone from day one — no qualification required.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
]
@@ -1622,10 +1746,10 @@ const DATA = {
active: {
type: 'Earnings tier', title: 'Active — 812 missions/week',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">Active is the most popular Zoomer tier. It represents a meaningful secondary income stream — 200400/month — without requiring a full-time commitment.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">200400</div><div class="layer-kpi-lbl">Typical monthly earnings</div></div><div class="layer-kpi"><div class="layer-kpi-val">812</div><div class="layer-kpi-lbl">Missions per week</div></div><div class="layer-kpi"><div class="layer-kpi-val">58h</div><div class="layer-kpi-lbl">Time per week</div></div></div>` },
{ tab: '1 · Overview', html: `<p class="layer-lead">Active is the most popular Zoomer tier. It represents a meaningful secondary income stream — $200400/month — without requiring a full-time commitment.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">$200400</div><div class="layer-kpi-lbl">Typical monthly earnings</div></div><div class="layer-kpi"><div class="layer-kpi-val">812</div><div class="layer-kpi-lbl">Missions per week</div></div><div class="layer-kpi"><div class="layer-kpi-val">58h</div><div class="layer-kpi-lbl">Time per week</div></div></div>` },
{ tab: '2 · Unlocked at Active', html: `<ul class="layer-ul"><li>Priority claim window: 5-minute advance access to new high-demand missions before general availability</li><li>Premium missions: higher compensation, stricter specification, more interesting subjects</li><li>Specialisation module access: complete training to unlock bridge inspection, coastal survey, and other high-value categories</li><li>Performance-based compensation boost: approval rate above 92% earns a 5% rate uplift across all missions</li></ul>` },
{ tab: '3 · Weekly rhythm', html: `<p class="layer-lead">Active Zoomers typically build a consistent weekly rhythm around mission clusters in their area.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">MonFri</div><div class="layer-step-body"><p class="layer-step-title">2 missions per day (mornings or lunch)</p><p class="layer-step-desc">10 missions at 8 average = 80/week baseline.</p></div></div><div class="layer-step"><div class="layer-step-num">Weekend</div><div class="layer-step-body"><p class="layer-step-title">Surge monitoring + premium missions</p><p class="layer-step-desc">Higher-value targets. Weather events often trigger surge during weekends.</p></div></div></div>` },
{ tab: '4 · Realistic earnings', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Scenario</th><th>Missions/week</th><th>Avg. rate</th><th>Monthly</th></tr><tr><td>Conservative Active</td><td>8</td><td>8</td><td>~256</td></tr><tr><td>Standard Active</td><td>10</td><td>9</td><td>~360</td></tr><tr><td>Active + surge (2/month)</td><td>10 + surge</td><td>€9 + €30</td><td>~420</td></tr><tr><td>Active + premium</td><td>10 standard + 2 premium</td><td>€9/€20</td><td>~440</td></tr></table></div>` },
{ tab: '3 · Weekly rhythm', html: `<p class="layer-lead">Active Zoomers typically build a consistent weekly rhythm around mission clusters in their area.</p><div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">MonFri</div><div class="layer-step-body"><p class="layer-step-title">2 missions per day (mornings or lunch)</p><p class="layer-step-desc">10 missions at $8 average = $80/week baseline.</p></div></div><div class="layer-step"><div class="layer-step-num">Weekend</div><div class="layer-step-body"><p class="layer-step-title">Surge monitoring + premium missions</p><p class="layer-step-desc">Higher-value targets. Weather events often trigger surge during weekends.</p></div></div></div>` },
{ tab: '4 · Realistic earnings', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Scenario</th><th>Missions/week</th><th>Avg. rate</th><th>Monthly</th></tr><tr><td>Conservative Active</td><td>8</td><td>$8</td><td>~$256</td></tr><tr><td>Standard Active</td><td>10</td><td>$9</td><td>~$360</td></tr><tr><td>Active + surge (2/month)</td><td>10 + surge</td><td>$9 + $30</td><td>~$420</td></tr><tr><td>Active + premium</td><td>10 standard + 2 premium</td><td>$9/$20</td><td>~$440</td></tr></table></div>` },
{ tab: '5 · How to maintain Active tier', html: `<p class="layer-lead">Active tier is maintained by consistent activity and quality. Falling below the threshold triggers a grace period.</p><ul class="layer-ul"><li>Minimum: 6 approved missions per month to maintain Active status</li><li>Approval rate must stay above 80% (rolling 30-day)</li><li>Inactivity for 60 days: tier paused (reactivates on next approved mission)</li><li>Grace period if dropping below: 14 days to complete 5 approved missions to retain tier</li></ul>` },
{ tab: '6 · Specialisations', html: `<p class="layer-lead">Specialisations unlock premium mission categories with higher compensation rates. Available at Active tier.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Specialisation</th><th>Missions unlocked</th><th>Extra compensation</th></tr><tr><td>Bridge & structures</td><td>Bridge inspection premium missions</td><td>+4080% vs standard</td></tr><tr><td>Coastal survey</td><td>Environmental monitoring missions</td><td>+3060% vs standard</td></tr><tr><td>Accessibility audit</td><td>Municipal accessibility surveys</td><td>+2545% vs standard</td></tr><tr><td>Insurance documentation</td><td>Priority surge access</td><td>First-claim advantage</td></tr></table></div>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Active tier: the target for serious Zoomers</p><p class="layer-cta-sub">Register now. Start Supplementary in August 2026. Reach Active within 1016 weeks.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
@@ -1634,11 +1758,11 @@ const DATA = {
professional: {
type: 'Earnings tier', title: 'Professional — 15+ missions/week',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">Professional Zoomers treat quiXzoom as a primary or near-primary income source. Reaching this tier requires consistent quality and volume over several months — and delivers proportional earnings.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">6001,500+</div><div class="layer-kpi-lbl">Typical monthly earnings</div></div><div class="layer-kpi"><div class="layer-kpi-val">1525</div><div class="layer-kpi-lbl">Missions per week</div></div><div class="layer-kpi"><div class="layer-kpi-val">~20h</div><div class="layer-kpi-lbl">Time per week</div></div></div>` },
{ tab: '2 · Unlocked at Professional', html: `<ul class="layer-ul"><li>First access to all new premium mission categories as they launch</li><li>Dedicated account manager (for Zoomers earning above 500/month)</li><li>10-minute priority claim window before Active tier Zoomers</li><li>Performance compensation: approval rate above 95% earns 10% uplift across all missions</li><li>Reserved high-value campaign slots: selected Zoomers invited to commissioned campaigns at fixed daily rates</li></ul>` },
{ tab: '3 · Campaign work', html: `<p class="layer-lead">At Professional tier, quiXzoom can invite you to dedicated campaign work — typically a fixed-rate day rate for systematic documentation of a specific asset set.</p><p class="layer-h3">Example campaign</p><div class="layer-block"><p class="layer-block-title">Municipal bridge survey — Stockholm</p><ul class="layer-ul"><li>Duration: 5 days</li><li>Scope: 120 bridges in the city</li><li>Rate: 200/day (fixed, not per submission)</li><li>Total: 1,000 for the campaign</li></ul></div><p class="layer-p">Campaign invitations are issued to Professional Zoomers with relevant specialisations in the geographic area. Not guaranteed — depends on campaign availability and matching.</p>` },
{ tab: '4 · Tax at Professional level', html: `<p class="layer-lead">At Professional earnings levels, formal tax registration is typically required in all jurisdictions.</p><ul class="layer-ul"><li>Sweden: Register as enskild firma or aktiebolag. F-skatt certification recommended.</li><li>Germany: Gewerbe registration required. Umsatzsteuer (VAT) may apply above 22,000.</li><li>UK: Self-assessment required. National Insurance Class 4 on profits above £12,570.</li><li>EU generally: VAT registration typically required above national thresholds.</li></ul><p class="layer-p"><em>Consult a qualified tax advisor. quiXzoom provides annual earnings statements in all required formats.</em></p>` },
{ tab: '5 · Equipment at this level', html: `<p class="layer-lead">Professional Zoomers working on premium infrastructure and environmental missions often invest in modest equipment upgrades.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Equipment</th><th>Benefit</th><th>Cost (approx.)</th></tr><tr><td>Stabiliser/gimbal</td><td>Sharper images, higher approval rate</td><td>60120</td></tr><tr><td>Wide-angle lens attachment</td><td>Better façade coverage in tight spaces</td><td>3080</td></tr><tr><td>Portable power bank</td><td>Full-day operation without recharge</td><td>2040</td></tr><tr><td>Weatherproof phone case</td><td>Coastal and incident missions in all weather</td><td>2050</td></tr></table></div>` },
{ tab: '1 · Overview', html: `<p class="layer-lead">Professional Zoomers treat quiXzoom as a primary or near-primary income source. Reaching this tier requires consistent quality and volume over several months — and delivers proportional earnings.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">$6001,500+</div><div class="layer-kpi-lbl">Typical monthly earnings</div></div><div class="layer-kpi"><div class="layer-kpi-val">1525</div><div class="layer-kpi-lbl">Missions per week</div></div><div class="layer-kpi"><div class="layer-kpi-val">~20h</div><div class="layer-kpi-lbl">Time per week</div></div></div>` },
{ tab: '2 · Unlocked at Professional', html: `<ul class="layer-ul"><li>First access to all new premium mission categories as they launch</li><li>Dedicated account manager (for Zoomers earning above $500/month)</li><li>10-minute priority claim window before Active tier Zoomers</li><li>Performance compensation: approval rate above 95% earns 10% uplift across all missions</li><li>Reserved high-value campaign slots: selected Zoomers invited to commissioned campaigns at fixed daily rates</li></ul>` },
{ tab: '3 · Campaign work', html: `<p class="layer-lead">At Professional tier, quiXzoom can invite you to dedicated campaign work — typically a fixed-rate day rate for systematic documentation of a specific asset set.</p><p class="layer-h3">Example campaign</p><div class="layer-block"><p class="layer-block-title">Municipal bridge survey — Stockholm</p><ul class="layer-ul"><li>Duration: 5 days</li><li>Scope: 120 bridges in the city</li><li>Rate: $200/day (fixed, not per submission)</li><li>Total: $1,000 for the campaign</li></ul></div><p class="layer-p">Campaign invitations are issued to Professional Zoomers with relevant specialisations in the geographic area. Not guaranteed — depends on campaign availability and matching.</p>` },
{ tab: '4 · Tax at Professional level', html: `<p class="layer-lead">At Professional earnings levels, formal tax registration is typically required in all jurisdictions.</p><ul class="layer-ul"><li>Sweden: Register as enskild firma or aktiebolag. F-skatt certification recommended.</li><li>Germany: Gewerbe registration required. Umsatzsteuer (VAT) may apply above $22,000.</li><li>UK: Self-assessment required. National Insurance Class 4 on profits above £12,570.</li><li>EU generally: VAT registration typically required above national thresholds.</li></ul><p class="layer-p"><em>Consult a qualified tax advisor. quiXzoom provides annual earnings statements in all required formats.</em></p>` },
{ tab: '5 · Equipment at this level', html: `<p class="layer-lead">Professional Zoomers working on premium infrastructure and environmental missions often invest in modest equipment upgrades.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Equipment</th><th>Benefit</th><th>Cost (approx.)</th></tr><tr><td>Stabiliser/gimbal</td><td>Sharper images, higher approval rate</td><td>$60120</td></tr><tr><td>Wide-angle lens attachment</td><td>Better façade coverage in tight spaces</td><td>$3080</td></tr><tr><td>Portable power bank</td><td>Full-day operation without recharge</td><td>$2040</td></tr><tr><td>Weatherproof phone case</td><td>Coastal and incident missions in all weather</td><td>$2050</td></tr></table></div>` },
{ tab: '6 · Building to Professional', html: `<p class="layer-lead">Professional tier requires: 200+ approved missions with 90%+ approval rate. Timeline depends on weekly mission volume.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Weekly missions</th><th>Estimated time to Professional</th></tr><tr><td>810 (Active pace)</td><td>68 months</td></tr><tr><td>1215</td><td>45 months</td></tr><tr><td>15+</td><td>34 months</td></tr></table></div>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Professional tier starts with one mission</p><p class="layer-cta-sub">Register now. August 2026 launch. Every mission from day one counts toward Professional.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
]
@@ -1651,10 +1775,10 @@ const DATA = {
layers: [
{ tab: '1 · Minimum spec', html: `<p class="layer-lead">The only requirement is a smartphone with a 12MP or better rear camera. No specialist equipment needed for standard missions.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Device</th><th>Minimum model</th><th>Passes standard missions</th></tr><tr><td>iPhone</td><td>iPhone 12</td><td><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#22c55e" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:middle;margin-right:4px"><polyline points="20 6 9 17 4 12"/></svg> Yes</td></tr><tr><td>Samsung Galaxy</td><td>S21 / A53 and newer</td><td><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#22c55e" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:middle;margin-right:4px"><polyline points="20 6 9 17 4 12"/></svg> Yes</td></tr><tr><td>Google Pixel</td><td>Pixel 5 and newer</td><td><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#22c55e" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:middle;margin-right:4px"><polyline points="20 6 9 17 4 12"/></svg> Yes</td></tr><tr><td>Other Android</td><td>12MP rear camera, Android 10+</td><td><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#22c55e" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:middle;margin-right:4px"><polyline points="20 6 9 17 4 12"/></svg> Yes</td></tr></table></div>` },
{ tab: '2 · Settings', html: `<ul class="layer-ul"><li>Resolution: maximum native resolution (no digital zoom)</li><li>Location: always on while using the app</li><li>HDR: off (produces inconsistent results for AI review)</li><li>Portrait mode: off (can add artificial blur)</li><li>Video: not accepted for missions (photos only, unless specified)</li></ul>` },
{ tab: '3 · Optional equipment', html: `<p class="layer-lead">Optional — none required for standard missions. Useful for higher-volume or premium missions.</p><ul class="layer-ul"><li>Gimbal stabiliser: reduces rejection from motion blur. ~60120. Useful for Active tier upward.</li><li>Wide-angle clip-on lens: better building coverage in tight streets. ~3080.</li><li>Power bank: for full-day shifts. 10,000mAh, ~20.</li><li>Weatherproof case: coastal and incident missions. ~2050.</li></ul>` },
{ tab: '3 · Optional equipment', html: `<p class="layer-lead">Optional — none required for standard missions. Useful for higher-volume or premium missions.</p><ul class="layer-ul"><li>Gimbal stabiliser: reduces rejection from motion blur. ~$60120. Useful for Active tier upward.</li><li>Wide-angle clip-on lens: better building coverage in tight streets. ~$3080.</li><li>Power bank: for full-day shifts. 10,000mAh, ~$20.</li><li>Weatherproof case: coastal and incident missions. ~$2050.</li></ul>` },
{ tab: '4 · Common photo errors', html: `<p class="layer-h3">Most common AI rejection reasons</p><ul class="layer-ul"><li>Motion blur — move slower, hold breath before shot, or use a surface to stabilise</li><li>Subject too small — step back until asset fills at least 40% of frame</li><li>Obstruction — parked vehicle, scaffolding, tree in front of subject</li><li>Overexposure in direct sunlight — shoot in shade or turn back to the sun</li><li>Wrong angle — re-read the brief and match example images exactly</li></ul>` },
{ tab: '5 · Drones', html: `<p class="layer-lead">Drone support is planned for Q4 2026 for specific mission types (coastal, large-scale infrastructure).</p><ul class="layer-ul"><li>Drone missions will require verified drone licence (A1/A3 certification in EU)</li><li>Higher compensation: drone missions pay 38× standard ground-level missions</li><li>Register drone capability in your profile to be notified when drone missions launch</li></ul>` },
{ tab: '6 · Professional kit', html: `<p class="layer-lead">Full equipment guide for Professional tier Zoomers operating in all mission categories.</p><ul class="layer-ul"><li>Primary phone: iPhone 15 Pro or Samsung S24 Ultra — best camera systems available</li><li>Stabiliser: DJI OM6 or Insta360 Flow — ~100</li><li>Lenses: Moment wide (18mm) for buildings, tele for detail — ~80 each</li><li>Power: Anker 20,000mAh with fast charge — ~35</li><li>Weatherproofing: UAG or Catalyst case — ~40</li><li>Total investment: ~300. Payback at Active tier: approximately 5 weeks.</li></ul>` },
{ tab: '6 · Professional kit', html: `<p class="layer-lead">Full equipment guide for Professional tier Zoomers operating in all mission categories.</p><ul class="layer-ul"><li>Primary phone: iPhone 15 Pro or Samsung S24 Ultra — best camera systems available</li><li>Stabiliser: DJI OM6 or Insta360 Flow — ~$100</li><li>Lenses: Moment wide (18mm) for buildings, tele for detail — ~$80 each</li><li>Power: Anker 20,000mAh with fast charge — ~$35</li><li>Weatherproofing: UAG or Catalyst case — ~$40</li><li>Total investment: ~$300. Payback at Active tier: approximately 5 weeks.</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Your current phone is enough to start</p><p class="layer-cta-sub">Register now. No equipment purchase needed to begin earning in August 2026.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
]
},
@@ -1664,7 +1788,7 @@ const DATA = {
{ tab: '1 · The basics', html: `<p class="layer-lead">Payment is automatic. When your submission is approved, Stripe Connect initiates a transfer to your linked bank account. You don't do anything.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">Automatic</div><div class="layer-kpi-lbl">No action needed</div></div><div class="layer-kpi"><div class="layer-kpi-val">0%</div><div class="layer-kpi-lbl">Platform fee to Zoomers</div></div><div class="layer-kpi"><div class="layer-kpi-val">13 days</div><div class="layer-kpi-lbl">Bank transfer time</div></div></div>` },
{ tab: '2 · Setting up payouts', html: `<div class="layer-step-list"><div class="layer-step"><div class="layer-step-num">1</div><div class="layer-step-body"><p class="layer-step-title">Identity verification</p><p class="layer-step-desc">Required once. Takes 35 minutes. Government ID + selfie. Processed by Stripe's KYC provider.</p></div></div><div class="layer-step"><div class="layer-step-num">2</div><div class="layer-step-body"><p class="layer-step-title">Link bank account</p><p class="layer-step-desc">IBAN + bank name. Processed via Stripe Connect. quiXzoom never sees your bank details.</p></div></div><div class="layer-step"><div class="layer-step-num">3</div><div class="layer-step-body"><p class="layer-step-title">Done</p><p class="layer-step-desc">All future payments route automatically to this account. Change at any time in settings.</p></div></div></div>` },
{ tab: '3 · Transfer times by country', html: `<div class="layer-table-wrap"><table class="layer-table"><tr><th>Region</th><th>Method</th><th>Time</th></tr><tr><td>Sweden / EU</td><td>SEPA Credit Transfer</td><td>12 business days</td></tr><tr><td>UK</td><td>Faster Payments</td><td>Next business day</td></tr><tr><td>US</td><td>ACH</td><td>23 business days</td></tr><tr><td>Other</td><td>SWIFT</td><td>25 business days</td></tr></table></div>` },
{ tab: '4 · Currency', html: `<p class="layer-lead">You receive payment in your local currency. Conversion at mid-market rate (Stripe) where applicable.</p><ul class="layer-ul"><li>Swedish Zoomers: receive SEK</li><li>EU Zoomers: receive EUR</li><li>UK Zoomers: receive GBP</li><li>Missions are priced in EUR — local currency conversion applied at payout</li></ul>` },
{ tab: '4 · Currency', html: `<p class="layer-lead">You receive payment in your local currency. Conversion at mid-market rate (Stripe) where applicable.</p><ul class="layer-ul"><li>Swedish Zoomers: receive SEK</li><li>EU Zoomers: receive USD</li><li>UK Zoomers: receive GBP</li><li>Missions are priced in USD — local currency conversion applied at payout</li></ul>` },
{ tab: '5 · Minimum payout', html: `<p class="layer-lead">Payouts require a minimum Credit balance. Credits accumulate until the threshold is reached, then transfer automatically on the weekly payout cycle.</p><ul class="layer-ul"><li>Minimum payout: 250 QX Credits (or local equivalent)</li><li>Credits below the threshold accumulate in your balance — they never expire</li><li>Automatic weekly transfer when balance meets or exceeds the minimum</li><li>Current balance, threshold status and estimated payout visible in your earnings dashboard</li></ul>` },
{ tab: '6 · Annual statement', html: `<p class="layer-lead">At the end of each calendar year, quiXzoom provides an earnings statement for tax purposes.</p><ul class="layer-ul"><li>Total earnings for the year</li><li>Mission-by-mission transaction log</li><li>Downloadable as PDF (formatted) and CSV (for accounting software)</li><li>Available in your dashboard from January 15 each year</li><li>Covers all approved missions in the calendar year</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">Zero fees. Automatic payment. Start in August.</p><p class="layer-cta-sub">Register your interest now. Payment setup takes 5 minutes and is only needed once.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
@@ -1687,7 +1811,7 @@ const DATA = {
layers: [
{ tab: '1 · The basics', html: `<p class="layer-lead">quiXzoom earnings are income. You are responsible for declaring and paying any applicable taxes. quiXzoom does not withhold taxes on your behalf.</p><p class="layer-h3">What quiXzoom provides</p><ul class="layer-ul"><li>Annual earnings statement (PDF + CSV) from January 15 each year</li><li>Transaction-level records for every approved mission</li><li>Stripe Connect payment records (accessible via your Stripe dashboard)</li></ul>` },
{ tab: '2 · Sweden', html: `<p class="layer-lead">Sweden has straightforward rules for occasional income and self-employment.</p><ul class="layer-ul"><li>Declare quiXzoom earnings as inkomst av tjänst (occasional) or inkomst av näringsverksamhet (if regular)</li><li>Grundavdrag (basic deduction): ~17,500 SEK — if total income below this, no income tax</li><li>For regular Zoomer activity: register as enskild firma with Skatteverket (simple, low-cost)</li><li>F-skatt: recommended if earning above ~5,000 SEK/month from quiXzoom</li></ul><p class="layer-p"><em>General information. Consult Skatteverket or a Swedish tax advisor for your situation.</em></p>` },
{ tab: '3 · Germany', html: `<ul class="layer-ul"><li>Under 256/year: tax-free (Freigrenze für Einkünfte aus sonstigen Leistungen in some interpretations — verify with a Steuerberater)</li><li>Kleinunternehmer: if annual turnover below 22,000, simplified VAT rules apply</li><li>Above 22,000: Umsatzsteuer (VAT) registration likely required</li><li>Gewerbesteuer: may apply depending on activity classification</li></ul><p class="layer-p"><em>Germany's tax rules for gig income are complex. A Steuerberater consultation is recommended.</em></p>` },
{ tab: '3 · Germany', html: `<ul class="layer-ul"><li>Under $256/year: tax-free (Freigrenze für Einkünfte aus sonstigen Leistungen in some interpretations — verify with a Steuerberater)</li><li>Kleinunternehmer: if annual turnover below $22,000, simplified VAT rules apply</li><li>Above $22,000: Umsatzsteuer (VAT) registration likely required</li><li>Gewerbesteuer: may apply depending on activity classification</li></ul><p class="layer-p"><em>Germany's tax rules for gig income are complex. A Steuerberater consultation is recommended.</em></p>` },
{ tab: '4 · UK', html: `<ul class="layer-ul"><li>Self-assessment required if quiXzoom income plus other untaxed income exceeds £1,000/year</li><li>Personal allowance: £12,570 — income below this threshold: no income tax</li><li>National Insurance: Class 2 and 4 apply above threshold on self-employed profits</li><li>Sole trader registration with HMRC recommended for active Zoomers</li></ul><p class="layer-p"><em>Consult HMRC's self-employment guidance or an accountant for your situation.</em></p>` },
{ tab: '5 · Other EU countries', html: `<p class="layer-lead">EU countries generally follow similar principles: declare freelance income, register as self-employed if earnings are regular, pay applicable income tax and social contributions.</p><p class="layer-p">quiXzoom will publish country-specific guidance pages for all launch markets by August 2026. These will cover registration requirements, thresholds, and documentation needed for common tax scenarios.</p>` },
{ tab: '6 · Record keeping', html: `<p class="layer-lead">Good records make tax filing simple. Keep these:</p><ul class="layer-ul"><li>quiXzoom annual earnings statement (download from your dashboard)</li><li>Stripe Connect payout records (download from your Stripe dashboard)</li><li>Equipment purchase receipts (deductible in many jurisdictions)</li><li>Travel expenses related to missions (deductible in some jurisdictions)</li></ul>` },
@@ -1710,10 +1834,10 @@ const DATA = {
type: 'Earnings scenarios', title: 'Working part-time — real scenarios',
layers: [
{ tab: '1 · Overview', html: `<p class="layer-lead">quiXzoom is designed for part-time work. No schedule, no minimum hours, no commitment. You work when you want — which is exactly how most Zoomers use it.</p><div class="layer-kpi-row"><div class="layer-kpi"><div class="layer-kpi-val">0</div><div class="layer-kpi-lbl">Minimum missions required</div></div><div class="layer-kpi"><div class="layer-kpi-val">Yours</div><div class="layer-kpi-lbl">You set your own schedule</div></div><div class="layer-kpi"><div class="layer-kpi-val">Unlimited</div><div class="layer-kpi-lbl">No earning cap</div></div></div>` },
{ tab: '2 · Lunch break scenario', html: `<p class="layer-lead">One of the most common Zoomer patterns: 12 missions during a lunch break.</p><div class="layer-block"><p class="layer-block-title">Typical lunch break (45 min)</p><ul class="layer-ul"><li>Walk to nearest mission cluster: 5 minutes</li><li>Mission 1 (infrastructure, 5): 15 minutes</li><li>Mission 2 (verification, 4): 10 minutes</li><li>Walk back: 5 minutes</li><li>Total: 35 minutes. Earnings: 9. Still had 10 minutes to eat.</li></ul></div><p class="layer-h3">5 days/week = 45/week = ~180/month</p>` },
{ tab: '3 · Weekend scenario', html: `<p class="layer-lead">Weekend walks with missions integrated into existing activity.</p><div class="layer-block"><p class="layer-block-title">Saturday morning walk (2 hours)</p><ul class="layer-ul"><li>Route planned around 6 adjacent missions in local area</li><li>Mix: 3 infrastructure + 2 real estate + 1 urban survey</li><li>Average 7 per mission: 42</li><li>Same walk you'd have done anyway</li></ul></div><p class="layer-h3">Two weekend sessions/week = ~320/month</p>` },
{ tab: '4 · Evening scenario', html: `<p class="layer-lead">Short evening sessions after work — 3045 minutes, 23 missions.</p><div class="layer-block"><p class="layer-block-title">Weekday evening (30 min, 3×/week)</p><ul class="layer-ul"><li>3 evenings × 2 missions × 6.50 average = 39/week</li><li>Monthly: ~156</li><li>Time invested: 1.5 hours/week</li></ul></div>` },
{ tab: '5 · Combining with existing work', html: `<p class="layer-lead">quiXzoom income compounds with other part-time and flexible work. Scenarios from beta testers.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Profile</th><th>Existing work</th><th>quiXzoom addition</th></tr><tr><td>Delivery worker</td><td>On-route missions</td><td>+150300/month, ~15 min/day extra</td></tr><tr><td>Dog walker</td><td>Morning walks</td><td>+60120/month, same route</td></tr><tr><td>Part-time retail</td><td>Fixed days off</td><td>+80200/month on free days</td></tr><tr><td>Student</td><td>Campus movement</td><td>+60150/month, between lectures</td></tr></table></div>` },
{ tab: '2 · Lunch break scenario', html: `<p class="layer-lead">One of the most common Zoomer patterns: 12 missions during a lunch break.</p><div class="layer-block"><p class="layer-block-title">Typical lunch break (45 min)</p><ul class="layer-ul"><li>Walk to nearest mission cluster: 5 minutes</li><li>Mission 1 (infrastructure, $5): 15 minutes</li><li>Mission 2 (verification, $4): 10 minutes</li><li>Walk back: 5 minutes</li><li>Total: 35 minutes. Earnings: $9. Still had 10 minutes to eat.</li></ul></div><p class="layer-h3">5 days/week = $45/week = ~$180/month</p>` },
{ tab: '3 · Weekend scenario', html: `<p class="layer-lead">Weekend walks with missions integrated into existing activity.</p><div class="layer-block"><p class="layer-block-title">Saturday morning walk (2 hours)</p><ul class="layer-ul"><li>Route planned around 6 adjacent missions in local area</li><li>Mix: 3 infrastructure + 2 real estate + 1 urban survey</li><li>Average $7 per mission: $42</li><li>Same walk you'd have done anyway</li></ul></div><p class="layer-h3">Two weekend sessions/week = ~$320/month</p>` },
{ tab: '4 · Evening scenario', html: `<p class="layer-lead">Short evening sessions after work — 3045 minutes, 23 missions.</p><div class="layer-block"><p class="layer-block-title">Weekday evening (30 min, 3×/week)</p><ul class="layer-ul"><li>3 evenings × 2 missions × $6.50 average = $39/week</li><li>Monthly: ~$156</li><li>Time invested: 1.5 hours/week</li></ul></div>` },
{ tab: '5 · Combining with existing work', html: `<p class="layer-lead">quiXzoom income compounds with other part-time and flexible work. Scenarios from beta testers.</p><div class="layer-table-wrap"><table class="layer-table"><tr><th>Profile</th><th>Existing work</th><th>quiXzoom addition</th></tr><tr><td>Delivery worker</td><td>On-route missions</td><td>+$150300/month, ~15 min/day extra</td></tr><tr><td>Dog walker</td><td>Morning walks</td><td>+$60120/month, same route</td></tr><tr><td>Part-time retail</td><td>Fixed days off</td><td>+$80200/month on free days</td></tr><tr><td>Student</td><td>Campus movement</td><td>+$60150/month, between lectures</td></tr></table></div>` },
{ tab: '6 · When to work more', html: `<p class="layer-lead">Some weeks offer higher earnings opportunities than others. Knowing when to increase your activity maximises returns.</p><ul class="layer-ul"><li>After significant weather events: insurance surge missions activate — highest pay of the year</li><li>Spring (MarchApril): annual municipal inspection season begins — high volume</li><li>Late autumn (October): pre-winter surveys — another surge period</li><li>Urban centre missions refresh regularly — check Monday mornings for new weekly batches</li></ul>` },
{ tab: '7 · Get started', html: `<div class="layer-cta-box"><p class="layer-cta-title">One mission a day. Real income.</p><p class="layer-cta-sub">Register now. No commitment to how much or how often. Start when you want, stop when you want.</p><a href="#waitlist-form-top" class="layer-cta-btn" onclick="closeOverlay()">Join waitlist →</a></div>` }
]
@@ -1871,7 +1995,7 @@ const GLOSSARY = {
'API': { short: 'Application Programming Interface — how orderers programmatically access mission data.', slug: 'api' },
'webhook': { short: 'Automatic HTTP notification sent to orderers when a submission is approved.', slug: 'webhook' },
'IBAN': { short: 'International Bank Account Number — required for Stripe Connect payout setup.', slug: 'iban' },
'SEPA': { short: 'Single Euro Payments Area — the European bank transfer network used for EUR payouts.', slug: 'sepa' },
'SEPA': { short: 'Single Euro Payments Area — the European bank transfer network used for USD payouts.', slug: 'sepa' },
'VAT': { short: 'Value Added Tax — Zoomers are responsible for their own VAT obligations where applicable.', slug: 'vat' },
'payout': { short: 'Weekly transfer of QX Credits converted to cash, to your linked bank account. Requires reaching the minimum Credit threshold.', slug: 'payout' },
'rating': { short: 'Your accumulated quality score on the platform, affecting tier and mission access.', slug: 'rating' },
@@ -1998,13 +2122,257 @@ document.addEventListener('qx:market', function(e){
'Asia/Bangkok':'th','Asia/Tokyo':'ja','Asia/Seoul':'ko','Asia/Shanghai':'zh-cn','Asia/Jakarta':'id','Asia/Kuala_Lumpur':'ms','Asia/Ho_Chi_Minh':'vi'
};
var names={'sv-se':'Sweden','nl-nl':'Netherlands','de-de':'Germany','fr-fr':'France','it-it':'Italy','es-es':'Spain','th':'Thailand','ja':'Japan','ko':'Korea','zh-cn':'China','id':'Indonesia','ms':'Malaysia','vi':'Vietnam'};
var localNames={'sv-se':'Sverige','nl-nl':'Nederland','de-de':'Deutschland','fr-fr':'France','it-it':'Italia','es-es':'España','th':'ประเทศไทย','ja':'日本','ko':'한국','zh-cn':'中国','id':'Indonesia','ms':'Malaysia','vi':'Việt Nam'};
var detected=map[tz];
if(!detected||detected==='sv-se')return;
var b=document.createElement('div');
b.id='qx-geo-banner';
b.innerHTML='<span>Looks like you&#39;re in '+names[detected]+'</span><a href="/'+detected+'/" class="geo-switch">Switch to '+names[detected]+'</a><button class="geo-dismiss" onclick="sessionStorage.setItem(\'qx_geo_dismissed\',1);this.closest(\'#qx-geo-banner\').remove()" aria-label="Dismiss">×</button>';
var isThai=detected==='th';
var html='<div class="geo-icon"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><path d="M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z"/><path d="M2 12h20"/></svg></div>';
html+='<div class="geo-text">';
html+='<span class="geo-title">Looks like you\'re in '+names[detected]+'</span>';
if(isThai) html+='<span class="geo-local">ดูเหมือนคุณอยู่ใน'+localNames[detected]+'</span>';
else if(localNames[detected]) html+='<span class="geo-local">'+localNames[detected]+'</span>';
html+='<span class="geo-subtitle">Switch to your local site for better experience</span>';
if(isThai) html+='<span class="geo-subtitle">เปลี่ยนไปยังเว็บไซต์ท้องถิ่นเพื่อประสบการณ์ที่ดีขึ้น</span>';
html+='</div>';
html+='<div class="geo-actions">';
html+='<button class="geo-dismiss" onclick="sessionStorage.setItem(\'qx_geo_dismissed\',1);this.closest(\'#qx-geo-banner\').remove()" aria-label="Dismiss">×</button>';
html+='<a href="/'+detected+'/" class="geo-switch">Switch to '+names[detected]+' →</a>';
if(isThai) html+='<a href="/'+detected+'/" class="geo-switch" style="background:rgba(0,102,255,.1);color:var(--blue)">ไปยัง'+localNames[detected]+' →</a>';
html+='</div>';
b.innerHTML=html;
document.addEventListener('DOMContentLoaded',function(){document.body.appendChild(b);});
}());
</script>
<!-- quiXzoom Mina Sidor - Universal Header Component -->
<!-- Injicera detta i <head> på alla quiXzoom-sajter -->
<style>
.qz-auth-bar {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 48px;
background: #0A0A0A;
border-bottom: 1px solid rgba(255,255,255,0.1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20px;
z-index: 9999;
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, sans-serif;
}
.qz-auth-bar .qz-logo {
font-size: 18px;
font-weight: 700;
color: #fff;
text-decoration: none;
letter-spacing: -0.5px;
}
.qz-auth-bar .qz-logo span {
color: #007AFF;
}
.qz-auth-bar .qz-nav {
display: flex;
gap: 8px;
align-items: center;
}
.qz-auth-bar .qz-btn {
padding: 8px 16px;
border-radius: 8px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
border: none;
text-decoration: none;
}
.qz-auth-bar .qz-btn-primary {
background: #007AFF;
color: white;
}
.qz-auth-bar .qz-btn-primary:hover {
background: #0056CC;
}
.qz-auth-bar .qz-btn-ghost {
background: transparent;
color: rgba(255,255,255,0.8);
}
.qz-auth-bar .qz-btn-ghost:hover {
background: rgba(255,255,255,0.1);
color: white;
}
.qz-auth-bar .qz-user {
display: flex;
align-items: center;
gap: 8px;
color: white;
font-size: 14px;
}
.qz-auth-bar .qz-avatar {
width: 32px;
height: 32px;
border-radius: 50%;
background: #007AFF;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
font-size: 14px;
}
.qz-auth-bar .qz-dropdown {
position: relative;
}
.qz-auth-bar .qz-dropdown-menu {
position: absolute;
top: 40px;
right: 0;
background: #1C1C1E;
border: 1px solid rgba(255,255,255,0.1);
border-radius: 12px;
padding: 8px;
min-width: 200px;
display: none;
box-shadow: 0 8px 32px rgba(0,0,0,0.4);
}
.qz-auth-bar .qz-dropdown-menu.active {
display: block;
}
.qz-auth-bar .qz-dropdown-item {
padding: 10px 12px;
border-radius: 8px;
color: white;
text-decoration: none;
display: flex;
align-items: center;
gap: 10px;
font-size: 14px;
transition: background 0.2s;
}
.qz-auth-bar .qz-dropdown-item:hover {
background: rgba(255,255,255,0.1);
}
.qz-auth-bar .qz-dropdown-divider {
height: 1px;
background: rgba(255,255,255,0.1);
margin: 8px 0;
}
.qz-auth-bar .qz-balance {
background: rgba(0,122,255,0.15);
color: #007AFF;
padding: 4px 10px;
border-radius: 6px;
font-size: 13px;
font-weight: 600;
}
@media (max-width: 640px) {
.qz-auth-bar .qz-nav .qz-btn-ghost:not(.qz-user) {
display: none;
}
}
</style>
<div id="qz-auth-bar" class="qz-auth-bar">
<a href="https://quixzoom.com" class="qz-logo">qui<span>X</span>zoom</a>
<div class="qz-nav">
<div id="qz-auth-guest">
<a href="https://app.quixzoom.com/login" class="qz-btn qz-btn-ghost">Logga in</a>
<a href="https://app.quixzoom.com/register" class="qz-btn qz-btn-primary">Bli Zoomer</a>
</div>
<div id="qz-auth-user" style="display:none;">
<span class="qz-balance" id="qz-balance">$0.00</span>
<div class="qz-dropdown">
<button class="qz-btn qz-btn-ghost qz-user" onclick="qzToggleDropdown()">
<div class="qz-avatar" id="qz-avatar">E</div>
<span id="qz-user-name">Erik</span>
<svg width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M2.5 4.5L6 8L9.5 4.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
</button>
<div class="qz-dropdown-menu" id="qz-dropdown-menu">
<a href="https://app.quixzoom.com/dashboard" class="qz-dropdown-item">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/></svg>
Dashboard
</a>
<a href="https://app.quixzoom.com/wallet" class="qz-dropdown-item">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12V7H5a2 2 0 0 1 0-4h14v4"/><path d="M3 5v14a2 2 0 0 0 2 2h16v-5"/><path d="M18 12a2 2 0 0 0 0 4h4v-4h-4z"/></svg>
Plånbok
</a>
<a href="https://app.quixzoom.com/missions" class="qz-dropdown-item">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/></svg>
Mina uppdrag
</a>
<div class="qz-dropdown-divider"></div>
<a href="https://app.quixzoom.com/settings" class="qz-dropdown-item">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06A1.65 1.65 0 0 0 4.67 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.67 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06A1.65 1.65 0 0 0 9 4.67a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>
Inställningar
</a>
<a href="#" onclick="qzLogout(); return false;" class="qz-dropdown-item">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/></svg>
Logga ut
</a>
</div>
</div>
</div>
</div>
</div>
<script>
(function() {
const SSO_BASE = 'https://auth.quixzoom.com';
const APP_BASE = 'https://app.quixzoom.com';
// Check auth status
async function qzCheckAuth() {
try {
const res = await fetch(SSO_BASE + '/auth/check', {
credentials: 'include',
});
if (res.ok) {
const data = await res.json();
if (data.authenticated) {
document.getElementById('qz-auth-guest').style.display = 'none';
document.getElementById('qz-auth-user').style.display = 'flex';
document.getElementById('qz-user-name').textContent = data.user.name || data.user.email;
document.getElementById('qz-avatar').textContent = (data.user.name || data.user.email)[0].toUpperCase();
if (data.user.balance !== undefined) {
document.getElementById('qz-balance').textContent = '$' + data.user.balance.toFixed(2);
}
}
}
} catch (e) {
// Silent fail - show guest state
}
}
// Toggle dropdown
window.qzToggleDropdown = function() {
document.getElementById('qz-dropdown-menu').classList.toggle('active');
};
// Close dropdown on outside click
document.addEventListener('click', function(e) {
if (!e.target.closest('.qz-dropdown')) {
document.getElementById('qz-dropdown-menu').classList.remove('active');
}
});
// Logout
window.qzLogout = async function() {
try {
await fetch(SSO_BASE + '/auth/logout', {
method: 'POST',
credentials: 'include',
});
} catch (e) {}
document.cookie = 'qz_access_token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=.quixzoom.com; path=/;';
document.cookie = 'qz_refresh_token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=.quixzoom.com; path=/;';
window.location.reload();
};
// Init
qzCheckAuth();
})();
</script>
</body>
</html>