2026-06-29 16:24:48 +00:00
<!DOCTYPE html>
< html lang = "sv" >
< head >
< meta charset = "UTF-8" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
< title > quiXzoom — Tjäna 150– 500 kr per uppdrag | Bli Zoomer< / title >
< meta name = "description" content = "Bli Zoomer: ta bilduppdrag nära dig, ladda upp och tjäna 150– 500 kr per uppdrag. Betalt varje måndag. Global ID-verifiering. Sverige, 1 augusti 2026." >
< meta name = "robots" content = "index, follow" >
< meta name = "geo.region" content = "SE" >
< meta name = "geo.country" content = "Sweden" >
< meta name = "language" content = "Swedish" >
< meta name = "copyright" content = "quiXzoom AB" >
< meta name = "theme-color" content = "#0a0a0a" >
< meta name = "author" content = "quiXzoom AB" >
< meta name = "keywords" content = "zoomer, tjäna pengar foton, bilduppdrag, fältdata, crowdsourcing Sverige, extrainkomst, mobiljobb" >
<!-- Canonical & hreflang -->
< link rel = "canonical" href = "https://quixzoom.com/markets/se/" >
< link rel = "alternate" hreflang = "sv" href = "https://quixzoom.se/" >
< link rel = "alternate" hreflang = "de" href = "https://quixzoom.de/" >
< link rel = "alternate" hreflang = "fr" href = "https://quixzoom.fr/" >
< link rel = "alternate" hreflang = "nl" href = "https://quixzoom.nl/" >
< link rel = "alternate" hreflang = "en-gb" href = "https://quixzoom.co.uk/" >
< link rel = "alternate" hreflang = "it" href = "https://quixzoom.it/" >
< link rel = "alternate" hreflang = "es" href = "https://quixzoom.es/" >
< link rel = "alternate" hreflang = "fi" href = "https://quixzoom.fi/" >
< link rel = "alternate" hreflang = "da" href = "https://quixzoom.dk/" >
< link rel = "alternate" hreflang = "nl-be" href = "https://quixzoom.be/" >
< link rel = "alternate" hreflang = "x-default" href = "https://quixzoom.com/" >
<!-- Open Graph -->
< meta property = "og:type" content = "website" >
< meta property = "og:site_name" content = "quiXzoom" >
< meta property = "og:title" content = "quiXzoom — Tjäna 150– 500 kr per uppdrag | Sverige" >
< meta property = "og:description" content = "Bli Zoomer: ta bilduppdrag nära dig med din smartphone, ladda upp och få betalt varje måndag. 150– 500 kr per uppdrag. Lanserar Sverige 1 augusti 2026." >
< meta property = "og:url" content = "https://quixzoom.se/" >
< meta property = "og:image" content = "https://quixzoom.com/og-image-se.svg" >
< meta property = "og:image:width" content = "1200" >
< meta property = "og:image:height" content = "630" >
< meta property = "og:locale" content = "sv_SE" >
<!-- Twitter Card -->
< meta name = "twitter:card" content = "summary_large_image" >
< meta name = "twitter:site" content = "@quixzoom" >
< meta name = "twitter:title" content = "quiXzoom — Tjäna pengar på bilduppdrag i Sverige" >
< meta name = "twitter:description" content = "Bli Zoomer: ta bilduppdrag nära dig, ladda upp, och få betalt varje måndag. 150– 500 kr per uppdrag. Lanserar 1 augusti 2026." >
< meta name = "twitter:image" content = "https://quixzoom.com/og-image-se.svg" >
<!-- Schema.org JSON - LD -->
< script type = "application/ld+json" >
{
"@context" : "https://schema.org" ,
"@graph" : [
{
"@type" : "Organization" ,
"@id" : "https://quixzoom.se/#org" ,
"name" : "quiXzoom" ,
"url" : "https://quixzoom.se/" ,
"logo" : { "@type" : "ImageObject" , "url" : "https://quixzoom.com/logo.png" } ,
"sameAs" : [ "https://quixzoom.com" , "https://aamos.systems" , "https://quixzoom.de" , "https://quixzoom.fr" ] ,
"parentOrganization" : { "@type" : "Organization" , "name" : "AAMOS" , "url" : "https://aamos.systems" } ,
"areaServed" : { "@type" : "Country" , "name" : "Sweden" , "sameAs" : "https://www.wikidata.org/wiki/Q34" } ,
"contactPoint" : [
{ "@type" : "ContactPoint" , "email" : "ops@quixzoom.com" , "contactType" : "customer support" , "availableLanguage" : "Swedish" } ,
{ "@type" : "ContactPoint" , "email" : "enterprise@quixzoom.com" , "contactType" : "sales" }
] ,
"description" : "Crowdsourcad plattform för fältdatainsamling — Zoomers tar bilduppdrag nära sig och tjänar pengar varje vecka via Stripe."
} ,
{
"@type" : "WebSite" ,
"@id" : "https://quixzoom.se/#website" ,
"url" : "https://quixzoom.se/" ,
"name" : "quiXzoom Sverige" ,
"publisher" : { "@id" : "https://quixzoom.se/#org" } ,
"inLanguage" : "sv" ,
"potentialAction" : { "@type" : "SearchAction" , "target" : { "@type" : "EntryPoint" , "urlTemplate" : "https://quixzoom.se/?q={search_term_string}" } , "query-input" : "required name=search_term_string" }
} ,
{
"@type" : "BreadcrumbList" ,
"itemListElement" : [ { "@type" : "ListItem" , "position" : 1 , "name" : "quiXzoom Sverige" , "item" : "https://quixzoom.se/" } ]
} ,
{
"@type" : "SoftwareApplication" ,
"name" : "quiXzoom" ,
"operatingSystem" : "iOS, Android" ,
"applicationCategory" : "BusinessApplication" ,
"offers" : { "@type" : "Offer" , "price" : "0" , "priceCurrency" : "SEK" , "description" : "Gratis att ladda ner" } ,
"downloadUrl" : "https://app.quixzoom.com/join" ,
"url" : "https://quixzoom.se/" ,
"publisher" : { "@id" : "https://quixzoom.se/#org" }
} ,
{
"@type" : "FAQPage" ,
"mainEntity" : [
{ "@type" : "Question" , "name" : "Hur mycket kan jag tjäna som zoomer i Sverige?" , "acceptedAnswer" : { "@type" : "Answer" , "text" : "Det beror på hur aktiv du är. Deltid (2– 4 uppdrag/vecka) ger 1 200– 3 000 kr/mån. Aktivt (8– 12 uppdrag/vecka) ger 3 500– 7 500 kr/mån. Proffs (15+ uppdrag/vecka) ger 8 000– 15 000 kr/mån. Varje uppdrag betalar 150– 500 kr beroende på typ och komplexitet." } } ,
{ "@type" : "Question" , "name" : "Måste jag ha professionell kamera?" , "acceptedAnswer" : { "@type" : "Answer" , "text" : "Nej. Din smartphone räcker. Vi accepterar bilder från iPhone 12+ och Android-telefoner med 12MP+. Kamerautrustning krävs aldrig." } } ,
{ "@type" : "Question" , "name" : "Hur och när får jag betalt?" , "acceptedAnswer" : { "@type" : "Answer" , "text" : "Betalt varje måndag för föregående veckas godkända uppdrag. Via Stripe direkt till ditt bankkonto (IBAN). Första utbetalningen kräver att din identitet är verifierad — pass, ID-kort eller körkort, tar 2 minuter." } } ,
{ "@type" : "Question" , "name" : "Vilka uppdrag finns i Sverige just nu?" , "acceptedAnswer" : { "@type" : "Answer" , "text" : "Vi lanserar i skärgårdsregionen (Stockholm– Nynäshamn– Vaxholm) den 1 augusti 2026 med infrastruktur- och naturuppdrag. Fler regioner öppnar Q4 2026. Registrera dig nu och välj din region." } } ,
{ "@type" : "Question" , "name" : "Är det skattebelagt?" , "acceptedAnswer" : { "@type" : "Answer" , "text" : "Ja. Inkomst från quiXzoom är skattepliktig som inkomst av tjänst eller näringsverksamhet. Vi rapporterar automatiskt till Skatteverket via DAC7 när din årsintäkt överstiger 2 000 EUR (ca 22 000 kr). Du får all dokumentation i appen." } } ,
{ "@type" : "Question" , "name" : "Hur snabbt godkänns mitt foto?" , "acceptedAnswer" : { "@type" : "Answer" , "text" : "Du ser alltid orsaken i appen. Du kan komplettera eller överklaga inom 48 timmar. Vi ger alltid feedback på varje avvisning så att du förbättrar dig." } } ,
{ "@type" : "Question" , "name" : "Kan jag jobba som zoomer som bisyssla?" , "acceptedAnswer" : { "@type" : "Answer" , "text" : "Absolut. De flesta zoomers jobbar deltid. Du väljer helt själv när och hur mycket. Ingen minimitid, inga scheman." } } ,
{ "@type" : "Question" , "name" : "Hur verifieras min identitet — krävs BankID?" , "acceptedAnswer" : { "@type" : "Answer" , "text" : "Foto av ID-handling (pass, nationellt ID eller körkort) + en selfie. AI:n matchar ansiktet mot dokumentet direkt. Krävs en gång. Fungerar från alla länder." } }
]
}
]
}
< / script >
< style >
/* =========================================
RESET & ROOT
========================================= */
: root {
--qx-black : #0a0a0a ;
--qx-white : #FFFFFF ;
--qx-blue : #0066FF ;
--qx-blue-light : #E8F0FF ;
--qx-blue-dark : #0052CC ;
--qx-green : #00C853 ;
--qx-gray : #F5F5F7 ;
--qx-gray-dark : #86868b ;
--qx-border : #D2D2D7 ;
--qx-text : #1d1d1f ;
--qx-footer : #1a1a1a ;
--qx-radius : 12 px ;
--qx-radius-lg : 20 px ;
--qx-shadow : 0 2 px 20 px rgba ( 0 , 0 , 0 , .08 ) ;
--qx-shadow-lg : 0 8 px 40 px rgba ( 0 , 0 , 0 , .14 ) ;
--font : - apple-system , BlinkMacSystemFont , 'SF Pro Display' , 'Helvetica Neue' , Arial , sans-serif ;
}
* , * :: before , * :: after { box-sizing : border-box ; margin : 0 ; padding : 0 }
html { -webkit- text-size-adjust : 100 % }
body { font-family : var ( - - font ) ; background : var ( - - qx - white ) ; color : var ( - - qx - text ) ; line-height : 1.6 ; font-size : 16 px ; -webkit- font-smoothing : antialiased }
a { color : inherit ; text-decoration : none }
img { max-width : 100 % ; height : auto ; display : block }
. container { max-width : 1100 px ; margin : 0 auto ; padding : 0 24 px }
/* =========================================
NAV — sticky glassmorphism
========================================= */
# nav { position : sticky ; top : 0 ; z-index : 200 ; background : rgba ( 10 , 10 , 10 , .90 ) ; backdrop-filter : saturate ( 180 % ) blur ( 24 px ) ; -webkit- backdrop-filter : saturate ( 180 % ) blur ( 24 px ) ; border-bottom : 1 px solid rgba ( 255 , 255 , 255 , .07 ) }
. nav-inner { display : flex ; align-items : center ; justify-content : space-between ; height : 58 px ; max-width : 1100 px ; margin : 0 auto ; padding : 0 24 px ; gap : 16 px }
. nav-logo { font-size : 1.3 rem ; font-weight : 800 ; color : var ( - - qx - white ) ; letter-spacing : -.03 em ; flex-shrink : 0 }
. nav-logo . x { color : var ( - - qx - blue ) }
. nav-links { display : flex ; align-items : center ; gap : 4 px ; list-style : none }
. nav-links a { color : rgba ( 255 , 255 , 255 , .78 ) ; font-size : .875 rem ; font-weight : 500 ; padding : 6 px 10 px ; border-radius : 8 px ; transition : color .15 s , background .15 s ; white-space : nowrap }
. nav-links a : hover { color : var ( - - qx - white ) ; background : rgba ( 255 , 255 , 255 , .08 ) }
. nav-right { display : flex ; align-items : center ; gap : 10 px ; flex-shrink : 0 }
/* Language dropdown */
. lang-dropdown { position : relative }
. lang-toggle { background : rgba ( 255 , 255 , 255 , .08 ) ; border : 1 px solid rgba ( 255 , 255 , 255 , .12 ) ; color : rgba ( 255 , 255 , 255 , .8 ) ; padding : 6 px 12 px ; border-radius : 8 px ; font-size : .8125 rem ; font-weight : 600 ; cursor : pointer ; display : flex ; align-items : center ; gap : 6 px ; transition : background .15 s ; font-family : var ( - - font ) }
. lang-toggle : hover { background : rgba ( 255 , 255 , 255 , .14 ) }
. lang-menu { position : absolute ; right : 0 ; top : calc ( 100 % + 8 px ) ; background : rgba ( 20 , 20 , 20 , .97 ) ; backdrop-filter : blur ( 20 px ) ; border : 1 px solid rgba ( 255 , 255 , 255 , .1 ) ; border-radius : var ( - - qx - radius ) ; padding : 6 px ; min-width : 160 px ; display : none ; z-index : 300 ; list-style : none }
. lang-dropdown : focus-within . lang-menu { display : block }
. lang-menu a { display : flex ; align-items : center ; gap : 10 px ; padding : 8 px 12 px ; border-radius : 8 px ; color : rgba ( 255 , 255 , 255 , .78 ) ; font-size : .875 rem ; font-weight : 500 ; transition : background .15 s , color .15 s }
. lang-menu a : hover { background : rgba ( 255 , 255 , 255 , .1 ) ; color : var ( - - qx - white ) }
. lang-menu a . active { color : var ( - - qx - blue ) }
. nav-cta { background : var ( - - qx - blue ) ; color : var ( - - qx - white ) ; padding : 8 px 20 px ; border-radius : 20 px ; font-size : .875 rem ; font-weight : 700 ; transition : opacity .15 s , transform .15 s ; white-space : nowrap }
. nav-cta : hover { opacity : .88 ; transform : translateY ( -1 px ) }
/* Hamburger — CSS only */
# nav-toggle { display : none }
. hamburger { display : none ; flex-direction : column ; gap : 5 px ; cursor : pointer ; padding : 8 px ; border-radius : 8 px ; background : rgba ( 255 , 255 , 255 , .08 ) ; border : none ; flex-shrink : 0 }
. hamburger span { display : block ; width : 20 px ; height : 2 px ; background : rgba ( 255 , 255 , 255 , .85 ) ; border-radius : 2 px ; transition : transform .25 s , opacity .25 s }
# nav-toggle : checked ~ . nav-inner . hamburger span : nth-child ( 1 ) { transform : translateY ( 7 px ) rotate ( 45 deg ) }
# nav-toggle : checked ~ . nav-inner . hamburger span : nth-child ( 2 ) { opacity : 0 }
# nav-toggle : checked ~ . nav-inner . hamburger span : nth-child ( 3 ) { transform : translateY ( -7 px ) rotate ( -45 deg ) }
. mobile-menu { display : none ; flex-direction : column ; padding : 12 px 20 px 20 px ; border-top : 1 px solid rgba ( 255 , 255 , 255 , .07 ) ; gap : 4 px }
# nav-toggle : checked ~ . mobile-menu { display : flex }
. mobile-menu a { color : rgba ( 255 , 255 , 255 , .85 ) ; font-size : 1 rem ; font-weight : 500 ; padding : 10 px 14 px ; border-radius : 10 px ; transition : background .15 s }
. mobile-menu a : hover { background : rgba ( 255 , 255 , 255 , .08 ) }
. mobile-menu . m-cta { background : var ( - - qx - blue ) ; color : var ( - - qx - white ) ; font-weight : 700 ; text-align : center ; margin-top : 8 px ; border-radius : 20 px }
/* =========================================
HERO
========================================= */
# hero { background : var ( - - qx - black ) ; color : var ( - - qx - white ) ; padding : 96 px 24 px 80 px ; text-align : center ; position : relative ; overflow : hidden }
# hero :: before { content : '' ; position : absolute ; inset : 0 ; background : radial-gradient ( ellipse 80 % 60 % at 50 % 0 % , rgba ( 0 , 102 , 255 , .18 ) 0 % , transparent 70 % ) ; pointer-events : none }
. hero-badge { display : inline-flex ; align-items : center ; gap : 8 px ; background : rgba ( 0 , 102 , 255 , .15 ) ; color : #6699FF ; border : 1 px solid rgba ( 0 , 102 , 255 , .3 ) ; border-radius : 24 px ; padding : 7 px 18 px ; font-size : .8125 rem ; font-weight : 700 ; letter-spacing : .02 em ; margin-bottom : 28 px }
h1 { font-size : clamp ( 2.25 rem , 5.5 vw , 4 rem ) ; font-weight : 900 ; line-height : 1.05 ; letter-spacing : -.04 em ; margin-bottom : 24 px }
h1 em { font-style : normal ; color : var ( - - qx - blue ) }
. hero-sub { font-size : clamp ( 1 rem , 2 vw , 1.25 rem ) ; color : rgba ( 255 , 255 , 255 , .65 ) ; max-width : 620 px ; margin : 0 auto 36 px ; line-height : 1.65 }
. hero-ctas { display : flex ; gap : 12 px ; justify-content : center ; flex-wrap : wrap ; margin-bottom : 20 px }
. btn-primary { background : var ( - - qx - blue ) ; color : var ( - - qx - white ) ; padding : 15 px 36 px ; border-radius : 28 px ; font-size : 1.0625 rem ; font-weight : 700 ; transition : transform .15 s , opacity .15 s , box-shadow .15 s ; display : inline-block ; box-shadow : 0 4 px 24 px rgba ( 0 , 102 , 255 , .35 ) }
. btn-primary : hover { transform : translateY ( -2 px ) ; opacity : .92 ; box-shadow : 0 8 px 32 px rgba ( 0 , 102 , 255 , .45 ) }
. btn-secondary { background : rgba ( 255 , 255 , 255 , .08 ) ; color : var ( - - qx - white ) ; padding : 15 px 36 px ; border-radius : 28 px ; font-size : 1.0625 rem ; font-weight : 600 ; border : 1 px solid rgba ( 255 , 255 , 255 , .18 ) ; transition : background .15 s , transform .15 s ; display : inline-block }
. btn-secondary : hover { background : rgba ( 255 , 255 , 255 , .15 ) ; transform : translateY ( -2 px ) }
. trust-strip { display : flex ; align-items : center ; justify-content : center ; gap : 16 px ; flex-wrap : wrap ; margin-top : 16 px ; color : rgba ( 255 , 255 , 255 , .5 ) ; font-size : .8125 rem ; font-weight : 500 }
. trust-strip span { display : flex ; align-items : center ; gap : 6 px }
. trust-strip span :: before { content : '✓' ; color : var ( - - qx - green ) ; font-weight : 700 }
/* =========================================
STATS BAR
========================================= */
# stats { background : var ( - - qx - blue ) ; color : var ( - - qx - white ) ; padding : 48 px 24 px }
. stats-grid { display : grid ; grid-template-columns : repeat ( 4 , 1 fr ) ; gap : 20 px ; max-width : 960 px ; margin : 0 auto ; text-align : center }
. stat-value { font-size : clamp ( 1.75 rem , 3.5 vw , 2.75 rem ) ; font-weight : 900 ; letter-spacing : -.03 em ; line-height : 1 }
. stat-label { font-size : .875 rem ; font-weight : 500 ; opacity : .82 ; margin-top : 6 px }
/* =========================================
SECTION BASE
========================================= */
section { padding : 88 px 24 px }
. section-label { font-size : .75 rem ; font-weight : 800 ; color : var ( - - qx - blue ) ; text-transform : uppercase ; letter-spacing : .1 em ; margin-bottom : 10 px }
. section-title { font-size : clamp ( 1.875 rem , 3.5 vw , 2.75 rem ) ; font-weight : 900 ; letter-spacing : -.03 em ; line-height : 1.1 ; margin-bottom : 14 px }
. section-sub { color : var ( - - qx - gray - dark ) ; font-size : 1.0625 rem ; max-width : 600 px ; margin-bottom : 52 px ; line-height : 1.65 }
. section-link { display : inline-flex ; align-items : center ; gap : 6 px ; color : var ( - - qx - blue ) ; font-size : .9375 rem ; font-weight : 600 ; margin-top : 32 px ; border-bottom : 1.5 px solid rgba ( 0 , 102 , 255 , .25 ) ; padding-bottom : 2 px ; transition : border-color .15 s , gap .15 s }
. section-link : hover { border-color : var ( - - qx - blue ) ; gap : 10 px }
/* =========================================
HOW IT WORKS — steps
========================================= */
# hur-det-funkar { background : var ( - - qx - white ) }
. steps-grid { display : grid ; grid-template-columns : repeat ( auto - fit , minmax ( 300 px , 1 fr ) ) ; gap : 28 px }
. step-card { background : var ( - - qx - gray ) ; border-radius : var ( - - qx - radius - lg ) ; padding : 36 px 32 px ; position : relative ; overflow : hidden ; transition : transform .2 s , box-shadow .2 s ; display : block ; color : inherit }
. step-card : hover { transform : translateY ( -4 px ) ; box-shadow : var ( - - qx - shadow - lg ) }
. step-num { font-size : 5 rem ; font-weight : 900 ; color : var ( - - qx - blue ) ; opacity : .1 ; position : absolute ; top : 12 px ; right : 20 px ; line-height : 1 ; pointer-events : none }
. step-icon { font-size : 2.25 rem ; margin-bottom : 18 px }
. step-title { font-size : 1.1875 rem ; font-weight : 800 ; margin-bottom : 10 px ; color : var ( - - qx - black ) }
. step-desc { color : var ( - - qx - gray - dark ) ; font-size : .9375 rem ; line-height : 1.65 ; margin-bottom : 16 px }
. step-link { display : inline-flex ; align-items : center ; gap : 5 px ; color : var ( - - qx - blue ) ; font-size : .875 rem ; font-weight : 700 ; transition : gap .15 s }
. step-link : hover { gap : 9 px }
/* =========================================
MISSION TYPES
========================================= */
# uppdrag { background : var ( - - qx - gray ) }
. missions-grid { display : grid ; grid-template-columns : repeat ( auto - fill , minmax ( 320 px , 1 fr ) ) ; gap : 20 px }
. mission-card { background : var ( - - qx - white ) ; border : 1.5 px solid var ( - - qx - border ) ; border-radius : var ( - - qx - radius - lg ) ; overflow : hidden ; transition : transform .2 s , box-shadow .2 s , border-color .2 s ; cursor : pointer }
. mission-card : hover , . mission-card : focus-within { transform : translateY ( -4 px ) ; box-shadow : var ( - - qx - shadow - lg ) ; border-color : rgba ( 0 , 102 , 255 , .3 ) }
. mission-header { padding : 28 px 28 px 0 }
. mission-icon { font-size : 2 rem ; margin-bottom : 12 px }
. mission-title { font-size : 1.125 rem ; font-weight : 800 ; color : var ( - - qx - black ) ; margin-bottom : 6 px }
. mission-pay { display : inline-block ; background : var ( - - qx - blue - light ) ; color : var ( - - qx - blue ) ; font-size : .8125 rem ; font-weight : 700 ; padding : 4 px 12 px ; border-radius : 20 px ; margin-bottom : 14 px }
. mission-body { padding : 0 28 px 24 px ; color : var ( - - qx - gray - dark ) ; font-size : .9375 rem ; line-height : 1.6 }
/* Expandable detail */
. mission-detail { background : var ( - - qx - blue - light ) ; border-top : 1 px solid rgba ( 0 , 102 , 255 , .1 ) ; padding : 0 ; max-height : 0 ; overflow : hidden ; transition : max-height .35 s ease , padding .35 s ease }
. mission-card : focus-within . mission-detail , . mission-card : hover . mission-detail { max-height : 200 px ; padding : 16 px 28 px }
. mission-detail p { font-size : .875 rem ; color : var ( - - qx - blue - dark ) ; line-height : 1.6 ; margin-bottom : 10 px }
. mission-cta-link { display : inline-flex ; align-items : center ; gap : 5 px ; color : var ( - - qx - blue ) ; font-size : .875 rem ; font-weight : 700 ; transition : gap .15 s }
. mission-cta-link : hover { gap : 9 px }
/* =========================================
EARNINGS / PRICING
========================================= */
# tjäna-pengar { background : var ( - - qx - white ) }
. earnings-intro { color : var ( - - qx - gray - dark ) ; font-size : 1.0625 rem ; max-width : 600 px ; margin-bottom : 44 px ; line-height : 1.65 }
. pricing-grid { display : grid ; grid-template-columns : repeat ( auto - fit , minmax ( 280 px , 1 fr ) ) ; gap : 20 px ; margin-bottom : 40 px }
. pricing-card { border : 2 px solid var ( - - qx - border ) ; border-radius : var ( - - qx - radius - lg ) ; padding : 36 px 32 px ; position : relative ; transition : transform .2 s , box-shadow .2 s ; background : var ( - - qx - white ) }
. pricing-card : hover { transform : translateY ( -4 px ) ; box-shadow : var ( - - qx - shadow - lg ) }
. pricing-card . featured { border-color : var ( - - qx - blue ) ; box-shadow : 0 4 px 32 px rgba ( 0 , 102 , 255 , .15 ) }
. pricing-badge { position : absolute ; top : -13 px ; left : 50 % ; transform : translateX ( -50 % ) ; background : var ( - - qx - blue ) ; color : var ( - - qx - white ) ; font-size : .75 rem ; font-weight : 800 ; padding : 4 px 16 px ; border-radius : 20 px ; white-space : nowrap }
. pricing-level { font-size : .8125 rem ; font-weight : 700 ; color : var ( - - qx - gray - dark ) ; text-transform : uppercase ; letter-spacing : .08 em ; margin-bottom : 8 px }
. pricing-amount { font-size : clamp ( 1.75 rem , 3 vw , 2.5 rem ) ; font-weight : 900 ; color : var ( - - qx - black ) ; letter-spacing : -.03 em ; line-height : 1 ; margin-bottom : 6 px }
. pricing-amount span { font-size : 1 rem ; font-weight : 500 ; color : var ( - - qx - gray - dark ) }
. pricing-freq { color : var ( - - qx - gray - dark ) ; font-size : .9375 rem ; margin-bottom : 18 px }
. pricing-desc { color : var ( - - qx - gray - dark ) ; font-size : .9375 rem ; line-height : 1.6 ; padding-top : 18 px ; border-top : 1 px solid var ( - - qx - border ) }
/* Payment details expandable */
. payment-details { margin-top : 36 px }
. payment-details summary { cursor : pointer ; font-size : 1 rem ; font-weight : 700 ; color : var ( - - qx - black ) ; padding : 18 px 24 px ; background : var ( - - qx - gray ) ; border-radius : var ( - - qx - radius ) ; list-style : none ; display : flex ; align-items : center ; justify-content : space-between ; transition : background .15 s }
. payment-details summary : hover { background : #eaeaec }
. payment-details summary :: after { content : '+ ' ; font-size : 1.25 rem ; color : var ( - - qx - blue ) ; transition : transform .25 s }
. payment-details [ open ] summary :: after { content : '- ' }
. payment-details-body { padding : 24 px ; background : var ( - - qx - gray ) ; border-radius : 0 0 var ( - - qx - radius ) var ( - - qx - radius ) ; margin-top : -4 px }
. payment-details-body ul { list-style : none ; display : flex ; flex-direction : column ; gap : 12 px }
. payment-details-body li { display : flex ; gap : 10 px ; color : var ( - - qx - gray - dark ) ; font-size : .9375 rem ; line-height : 1.5 }
. payment-details-body li :: before { content : '› ' ; color : var ( - - qx - blue ) ; font-weight : 700 ; flex-shrink : 0 }
. payment-details-body a { color : var ( - - qx - blue ) ; font-weight : 600 ; border-bottom : 1 px solid rgba ( 0 , 102 , 255 , .2 ) ; transition : border-color .15 s }
. payment-details-body a : hover { border-color : var ( - - qx - blue ) }
/* =========================================
FEATURES — WHY quiXzoom
========================================= */
# varfor { background : var ( - - qx - gray ) }
. features-grid { display : grid ; grid-template-columns : repeat ( auto - fit , minmax ( 240 px , 1 fr ) ) ; gap : 20 px }
. feature-card { background : var ( - - qx - white ) ; border-radius : var ( - - qx - radius - lg ) ; padding : 32 px 28 px ; border : 1 px solid var ( - - qx - border ) ; transition : transform .2 s , box-shadow .2 s ; display : block ; color : inherit }
. feature-card : hover { transform : translateY ( -4 px ) ; box-shadow : var ( - - qx - shadow - lg ) }
. feature-icon { font-size : 2 rem ; margin-bottom : 16 px }
. feature-title { font-size : 1.0625 rem ; font-weight : 800 ; margin-bottom : 8 px ; color : var ( - - qx - black ) }
. feature-desc { color : var ( - - qx - gray - dark ) ; font-size : .9375 rem ; line-height : 1.6 ; margin-bottom : 14 px }
. feature-link { display : inline-flex ; align-items : center ; gap : 4 px ; color : var ( - - qx - blue ) ; font-size : .875 rem ; font-weight : 600 ; transition : gap .15 s }
. feature-link : hover { gap : 8 px }
/* =========================================
UPPDRAGSGIVARE
========================================= */
# uppdragsgivare { background : var ( - - qx - white ) }
. clients-grid { display : grid ; grid-template-columns : repeat ( auto - fit , minmax ( 300 px , 1 fr ) ) ; gap : 20 px ; margin-bottom : 36 px }
. client-card { border : 1.5 px solid rgba ( 0 , 102 , 255 , .15 ) ; border-radius : var ( - - qx - radius - lg ) ; overflow : hidden ; transition : transform .2 s , box-shadow .2 s , border-color .2 s }
. client-card : hover { transform : translateY ( -4 px ) ; box-shadow : var ( - - qx - shadow - lg ) ; border-color : rgba ( 0 , 102 , 255 , .3 ) }
. client-header { padding : 28 px 28 px 20 px ; background : linear-gradient ( 135 deg , rgba ( 0 , 102 , 255 , .05 ) , rgba ( 0 , 102 , 255 , .01 ) ) }
. client-icon { font-size : 2 rem ; margin-bottom : 10 px }
. client-title { font-size : 1.125 rem ; font-weight : 800 ; color : var ( - - qx - black ) ; margin-bottom : 10 px }
. client-desc { color : var ( - - qx - gray - dark ) ; font-size : .9375 rem ; line-height : 1.6 }
/* expandable */
. client-extra { padding : 0 28 px ; max-height : 0 ; overflow : hidden ; transition : max-height .35 s ease , padding .35 s ease }
. client-card : hover . client-extra , . client-card : focus-within . client-extra { max-height : 180 px ; padding : 0 28 px 24 px }
. client-extra ul { list-style : none ; display : flex ; flex-direction : column ; gap : 8 px ; margin-top : 12 px ; border-top : 1 px solid var ( - - qx - border ) ; padding-top : 14 px }
. client-extra li { display : flex ; gap : 8 px ; color : var ( - - qx - gray - dark ) ; font-size : .875 rem ; line-height : 1.5 }
. client-extra li :: before { content : '✓' ; color : var ( - - qx - green ) ; font-weight : 700 ; flex-shrink : 0 }
. client-extra a { display : inline-flex ; align-items : center ; gap : 4 px ; color : var ( - - qx - blue ) ; font-size : .875 rem ; font-weight : 600 ; margin-top : 12 px ; transition : gap .15 s }
. client-extra a : hover { gap : 8 px }
. client-ctas { display : flex ; gap : 12 px ; flex-wrap : wrap ; align-items : center }
. btn-outline { display : inline-flex ; align-items : center ; gap : 8 px ; border : 2 px solid var ( - - qx - black ) ; color : var ( - - qx - black ) ; padding : 13 px 28 px ; border-radius : 28 px ; font-size : .9375 rem ; font-weight : 700 ; transition : background .15 s , color .15 s , transform .15 s }
. btn-outline : hover { background : var ( - - qx - black ) ; color : var ( - - qx - white ) ; transform : translateY ( -2 px ) }
. btn-ghost { display : inline-flex ; align-items : center ; gap : 8 px ; color : var ( - - qx - blue ) ; font-size : .9375 rem ; font-weight : 700 ; padding : 13 px 0 ; transition : gap .15 s }
. btn-ghost : hover { gap : 12 px }
/* =========================================
FAQ — native details/summary
========================================= */
# faq { background : var ( - - qx - gray ) }
. faq-list { max-width : 740 px ; display : flex ; flex-direction : column ; gap : 10 px }
. faq-list details { background : var ( - - qx - white ) ; border-radius : var ( - - qx - radius ) ; border : 1 px solid var ( - - qx - border ) ; overflow : hidden ; transition : box-shadow .2 s }
. faq-list details [ open ] { box-shadow : var ( - - qx - shadow ) }
. faq-list summary { cursor : pointer ; padding : 20 px 24 px ; font-size : 1 rem ; font-weight : 700 ; color : var ( - - qx - black ) ; list-style : none ; display : flex ; align-items : center ; justify-content : space-between ; gap : 16 px ; transition : background .15 s }
. faq-list summary : hover { background : #fafafa }
. faq-list summary :: after { content : '+' ; font-size : 1.375 rem ; font-weight : 400 ; color : var ( - - qx - blue ) ; flex-shrink : 0 ; line-height : 1 ; transition : transform .25 s }
. faq-list details [ open ] summary :: after { content : '− ' }
. faq-list summary :: -webkit-details-marker { display : none }
. faq-answer-body { padding : 0 24 px 20 px ; color : var ( - - qx - gray - dark ) ; font-size : .9375 rem ; line-height : 1.7 }
. faq-answer-body a { color : var ( - - qx - blue ) ; font-weight : 600 ; border-bottom : 1 px solid rgba ( 0 , 102 , 255 , .2 ) ; transition : border-color .15 s }
. faq-answer-body a : hover { border-color : var ( - - qx - blue ) }
. faq-contact { margin-top : 28 px ; color : var ( - - qx - gray - dark ) ; font-size : .9375 rem }
. faq-contact a { color : var ( - - qx - blue ) ; font-weight : 600 ; border-bottom : 1 px solid rgba ( 0 , 102 , 255 , .2 ) ; transition : border-color .15 s }
. faq-contact a : hover { border-color : var ( - - qx - blue ) }
/* =========================================
APP DOWNLOAD CTA
========================================= */
# app-cta { background : var ( - - qx - black ) ; color : var ( - - qx - white ) ; text-align : center ; position : relative ; overflow : hidden }
# app-cta :: before { content : '' ; position : absolute ; inset : 0 ; background : radial-gradient ( ellipse 70 % 50 % at 50 % 100 % , rgba ( 0 , 102 , 255 , .2 ) , transparent 70 % ) ; pointer-events : none }
# app-cta . section-title { color : var ( - - qx - white ) ; margin-bottom : 14 px }
. app-sub { font-size : 1.125 rem ; color : rgba ( 255 , 255 , 255 , .65 ) ; margin-bottom : 40 px ; line-height : 1.6 }
. app-buttons { display : flex ; gap : 16 px ; justify-content : center ; flex-wrap : wrap ; margin-bottom : 24 px }
. app-btn { display : flex ; align-items : center ; gap : 12 px ; background : rgba ( 255 , 255 , 255 , .08 ) ; border : 1.5 px solid rgba ( 255 , 255 , 255 , .18 ) ; color : var ( - - qx - white ) ; padding : 14 px 28 px ; border-radius : 16 px ; font-size : 1 rem ; font-weight : 700 ; transition : background .15 s , transform .15 s , border-color .15 s }
. app-btn : hover { background : rgba ( 255 , 255 , 255 , .16 ) ; transform : translateY ( -2 px ) ; border-color : rgba ( 255 , 255 , 255 , .3 ) }
. app-btn-icon { font-size : 1.75 rem ; line-height : 1 }
. app-btn-text { text-align : left ; line-height : 1.3 }
. app-btn-text small { display : block ; font-size : .75 rem ; font-weight : 400 ; opacity : .7 }
. app-trust { display : flex ; align-items : center ; justify-content : center ; gap : 20 px ; flex-wrap : wrap ; color : rgba ( 255 , 255 , 255 , .45 ) ; font-size : .8125 rem ; font-weight : 500 }
. app-trust span { display : flex ; align-items : center ; gap : 6 px }
/* =========================================
FOOTER
========================================= */
footer { background : var ( - - qx - footer ) ; color : rgba ( 255 , 255 , 255 , .6 ) ; padding : 60 px 24 px 32 px }
. footer-inner { max-width : 1100 px ; margin : 0 auto }
. footer-cols { display : grid ; grid-template-columns : 1.5 fr repeat ( 4 , 1 fr ) ; gap : 40 px ; margin-bottom : 48 px }
. footer-brand . brand-logo { font-size : 1.4 rem ; font-weight : 900 ; color : var ( - - qx - white ) ; letter-spacing : -.03 em ; margin-bottom : 8 px }
. footer-brand . brand-logo . x { color : var ( - - qx - blue ) }
. footer-brand . tagline { font-size : .875 rem ; color : rgba ( 255 , 255 , 255 , .4 ) ; margin-bottom : 20 px ; line-height : 1.5 }
. footer-lang { display : flex ; flex-wrap : wrap ; gap : 6 px }
. footer-lang a { background : rgba ( 255 , 255 , 255 , .07 ) ; border : 1 px solid rgba ( 255 , 255 , 255 , .1 ) ; color : rgba ( 255 , 255 , 255 , .7 ) ; padding : 5 px 10 px ; border-radius : 7 px ; font-size : .8125 rem ; font-weight : 600 ; transition : background .15 s , color .15 s , border-color .15 s }
. footer-lang a : hover { background : rgba ( 0 , 102 , 255 , .25 ) ; color : var ( - - qx - white ) ; border-color : rgba ( 0 , 102 , 255 , .35 ) }
. footer-lang a . active { color : var ( - - qx - blue ) ; border-color : rgba ( 0 , 102 , 255 , .3 ) ; background : rgba ( 0 , 102 , 255 , .12 ) }
. footer-col h4 { font-size : .8125 rem ; font-weight : 800 ; color : var ( - - qx - white ) ; text-transform : uppercase ; letter-spacing : .07 em ; margin-bottom : 14 px }
. footer-col ul { list-style : none ; display : flex ; flex-direction : column ; gap : 8 px }
. footer-col a { font-size : .875 rem ; color : rgba ( 255 , 255 , 255 , .5 ) ; transition : color .15 s }
. footer-col a : hover { color : rgba ( 255 , 255 , 255 , .9 ) }
. footer-bottom { border-top : 1 px solid rgba ( 255 , 255 , 255 , .07 ) ; padding-top : 24 px ; display : flex ; justify-content : space-between ; align-items : center ; flex-wrap : wrap ; gap : 12 px }
. footer-copy { font-size : .8125 rem ; color : rgba ( 255 , 255 , 255 , .3 ) }
. footer-aamos { font-size : .8125 rem }
. footer-aamos a { color : rgba ( 255 , 255 , 255 , .4 ) ; border-bottom : 1 px solid rgba ( 255 , 255 , 255 , .15 ) ; padding-bottom : 1 px ; transition : color .15 s , border-color .15 s }
. footer-aamos a : hover { color : rgba ( 255 , 255 , 255 , .8 ) ; border-color : rgba ( 255 , 255 , 255 , .4 ) }
/* =========================================
RESPONSIVE
========================================= */
@ media ( max-width : 900px ) {
. footer-cols { grid-template-columns : 1 fr 1 fr ; gap : 28 px }
. footer-brand { grid-column : 1 /- 1 }
. stats-grid { grid-template-columns : repeat ( 2 , 1 fr ) }
. nav-links { display : none }
. hamburger { display : flex }
. lang-dropdown { display : none }
}
@ media ( max-width : 600px ) {
section { padding : 64 px 16 px }
h1 { letter-spacing : -.03 em }
. stats-grid { grid-template-columns : 1 fr 1 fr ; gap : 24 px }
. footer-cols { grid-template-columns : 1 fr 1 fr }
. footer-brand { grid-column : 1 /- 1 }
# hero { padding : 72 px 16 px 64 px }
. app-buttons { flex-direction : column ; align-items : center }
. client-ctas { flex-direction : column }
. footer-bottom { flex-direction : column ; text-align : center }
}
@ media ( max-width : 400px ) {
. stats-grid { grid-template-columns : 1 fr }
. footer-cols { grid-template-columns : 1 fr }
}
. hero-diff { font-size : .875 rem ; color : rgba ( 255 , 255 , 255 , .55 ) ; margin-top : 12 px ; font-style : italic ; letter-spacing : .01 em }
. income-disclaimer { font-size : .75 rem ; color : var ( - - qx - gray - dark ) ; margin : -8 px 0 16 px ; font-style : italic }
/* quiXzoom Icon System v1.0.0 — VW AG geometric stroke style */
. qx-icon { display : inline-block ; width : 48 px ; height : 48 px ; flex-shrink : 0 ; line-height : 0 ; color : var ( - - qx - blue ) }
. qx-icon svg { width : 100 % ; height : 100 % }
. qx-icon-sm { width : 32 px ; height : 32 px }
. qx-icon-lg { width : 64 px ; height : 64 px }
/* Mörk bakgrund = vita ikoner */
. hero . qx-icon , . stats-bar . qx-icon , . app-section . qx-icon { color : #fff }
/* Grön check */
. feature-card : nth-child ( 1 ) . qx-icon { color : var ( - - qx - green ) }
< / style >
<!-- Analytics: Plausible.io – GDPR - nativt, ingen cookie - consent -->
< script defer data-domain = "quixzoom.se" src = "https://plausible.io/js/script.js" > < / script >
< / head >
< body >
< svg xmlns = "http://www.w3.org/2000/svg" style = "display:none" aria-hidden = "true" >
< symbol id = "icon-infra" viewBox = "0 0 48 48" fill = "none" >
< line x1 = "4" y1 = "18" x2 = "44" y2 = "18" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "13" y1 = "18" x2 = "13" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "35" y1 = "18" x2 = "35" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "9" y1 = "38" x2 = "17" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "31" y1 = "38" x2 = "39" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< path d = "M4 18 Q13 10 24 10 Q35 10 44 18" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< line x1 = "8" y1 = "14" x2 = "8" y2 = "18" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "40" y1 = "14" x2 = "40" y2 = "18" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "4" y1 = "14" x2 = "44" y2 = "14" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< / symbol >
< symbol id = "icon-building" viewBox = "0 0 48 48" fill = "none" >
< rect x = "8" y = "8" width = "32" height = "36" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "13" y = "13" width = "6" height = "6" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "21" y = "13" width = "6" height = "6" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "29" y = "13" width = "6" height = "6" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "13" y = "22" width = "6" height = "6" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "21" y = "22" width = "6" height = "6" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "29" y = "22" width = "6" height = "6" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "20" y = "34" width = "8" height = "10" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< / symbol >
< symbol id = "icon-nature" viewBox = "0 0 48 48" fill = "none" >
< line x1 = "4" y1 = "20" x2 = "44" y2 = "20" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< path d = "M4 28 Q10 24 16 28 Q22 32 28 28 Q34 24 40 28 Q42 29.5 44 28" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< path d = "M4 35 Q10 31 16 35 Q22 39 28 35 Q34 31 40 35 Q42 36.5 44 35" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< circle cx = "24" cy = "13" r = "4" stroke = "currentColor" stroke-width = "1.8" / >
< line x1 = "24" y1 = "7" x2 = "24" y2 = "5" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "29.5" y1 = "8.5" x2 = "31" y2 = "7" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "31" y1 = "13" x2 = "33" y2 = "13" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< / symbol >
< symbol id = "icon-damage" viewBox = "0 0 48 48" fill = "none" >
< rect x = "6" y = "8" width = "36" height = "32" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< polyline points = "27,8 21,24 27,24 21,40" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< / symbol >
< symbol id = "icon-geo" viewBox = "0 0 48 48" fill = "none" >
< path d = "M24 6 C17 6 12 11 12 18 C12 27 24 42 24 42 C24 42 36 27 36 18 C36 11 31 6 24 6 Z" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< line x1 = "19" y1 = "18" x2 = "29" y2 = "18" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "24" y1 = "13" x2 = "24" y2 = "23" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< / symbol >
< symbol id = "icon-city" viewBox = "0 0 48 48" fill = "none" >
< line x1 = "4" y1 = "40" x2 = "44" y2 = "40" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< polyline points = "4,40 4,22 14,22 14,40" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< rect x = "7" y = "26" width = "4" height = "4" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "7" y = "33" width = "4" height = "4" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< polyline points = "14,40 14,10 30,10 30,40" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< rect x = "17" y = "15" width = "4" height = "4" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "23" y = "15" width = "4" height = "4" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "17" y = "23" width = "4" height = "4" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "23" y = "23" width = "4" height = "4" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< polyline points = "30,40 30,28 44,28 44,40" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< rect x = "33" y = "31" width = "4" height = "4" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< / symbol >
< symbol id = "icon-gov" viewBox = "0 0 48 48" fill = "none" >
< polyline points = "6,16 24,6 42,16" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< line x1 = "6" y1 = "16" x2 = "42" y2 = "16" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "11" y1 = "19" x2 = "11" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "19" y1 = "19" x2 = "19" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "29" y1 = "19" x2 = "29" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "37" y1 = "19" x2 = "37" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "6" y1 = "38" x2 = "42" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "4" y1 = "42" x2 = "44" y2 = "42" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< / symbol >
< symbol id = "icon-shield" viewBox = "0 0 48 48" fill = "none" >
< path d = "M24 4 L40 10 L40 24 C40 33 24 44 24 44 C24 44 8 33 8 24 L8 10 Z" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< polyline points = "15,24 21,31 33,18" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< / symbol >
< symbol id = "icon-phone" viewBox = "0 0 48 48" fill = "none" >
< rect x = "13" y = "4" width = "22" height = "40" rx = "3" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< line x1 = "13" y1 = "10" x2 = "35" y2 = "10" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "13" y1 = "38" x2 = "35" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< circle cx = "24" cy = "7" r = "1.5" stroke = "currentColor" stroke-width = "1.8" / >
< circle cx = "24" cy = "42" r = "0" fill = "#0066FF" / >
< line x1 = "20" y1 = "41" x2 = "28" y2 = "41" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< / symbol >
< symbol id = "icon-map" viewBox = "0 0 48 48" fill = "none" >
< polygon points = "6,10 18,6 30,10 42,6 42,38 30,42 18,38 6,42" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< line x1 = "18" y1 = "6" x2 = "18" y2 = "38" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "30" y1 = "10" x2 = "30" y2 = "42" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< path d = "M24 14 C21 14 19 16 19 19 C19 23 24 29 24 29 C24 29 29 23 29 19 C29 16 27 14 24 14 Z" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< circle cx = "24" cy = "19" r = "1.5" stroke = "currentColor" stroke-width = "1.5" / >
< / symbol >
< symbol id = "icon-payment" viewBox = "0 0 48 48" fill = "none" >
< circle cx = "14" cy = "24" r = "9" stroke = "currentColor" stroke-width = "1.8" / >
< line x1 = "11" y1 = "20" x2 = "11" y2 = "28" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "11" y1 = "24" x2 = "17" y2 = "20" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "11" y1 = "24" x2 = "17" y2 = "28" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "26" y1 = "24" x2 = "42" y2 = "24" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< polyline points = "36,18 42,24 36,30" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< / symbol >
< symbol id = "icon-transparent" viewBox = "0 0 48 48" fill = "none" >
< path d = "M6 22 Q24 8 42 22" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< path d = "M6 22 Q24 36 42 22" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< circle cx = "24" cy = "22" r = "5" stroke = "currentColor" stroke-width = "1.8" / >
< circle cx = "24" cy = "22" r = "1.5" stroke = "currentColor" stroke-width = "1.8" / >
< path d = "M30 27 L38 35 L35 38 L27 30 Z" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< circle cx = "31" cy = "28.5" r = "1.2" stroke = "currentColor" stroke-width = "1.5" / >
< / symbol >
< symbol id = "icon-camera" viewBox = "0 0 48 48" fill = "none" >
< rect x = "4" y = "14" width = "40" height = "28" rx = "2" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< path d = "M16 14 L16 10 L32 10 L32 14" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< circle cx = "24" cy = "28" r = "8" stroke = "currentColor" stroke-width = "1.8" / >
< circle cx = "24" cy = "28" r = "4" stroke = "currentColor" stroke-width = "1.8" / >
< rect x = "20" y = "8" width = "8" height = "4" rx = "1" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< / symbol >
< symbol id = "icon-bankid" viewBox = "0 0 48 48" fill = "none" >
< path d = "M24 4 L38 9 L38 22 C38 31 24 44 24 44 C24 44 10 31 10 22 L10 9 Z" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< rect x = "17" y = "22" width = "14" height = "11" rx = "1" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" / >
< path d = "M19 22 L19 18 C19 15 29 15 29 18 L29 22" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< circle cx = "24" cy = "26.5" r = "2" stroke = "currentColor" stroke-width = "1.5" / >
< line x1 = "24" y1 = "28.5" x2 = "24" y2 = "31" stroke = "currentColor" stroke-width = "1.5" stroke-linecap = "round" / >
< / symbol >
< symbol id = "icon-stats" viewBox = "0 0 48 48" fill = "none" >
< line x1 = "8" y1 = "6" x2 = "8" y2 = "40" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< line x1 = "8" y1 = "40" x2 = "44" y2 = "40" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< polyline points = "5,10 8,6 11,10" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< polyline points = "40,37 44,40 40,43" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< polyline points = "14,34 24,24 36,14" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< circle cx = "14" cy = "34" r = "2.5" stroke = "currentColor" stroke-width = "1.8" fill = "none" / >
< circle cx = "24" cy = "24" r = "2.5" stroke = "currentColor" stroke-width = "1.8" fill = "none" / >
< circle cx = "36" cy = "14" r = "2.5" stroke = "currentColor" stroke-width = "1.8" fill = "none" / >
< / symbol >
< symbol id = "icon-check-circle" viewBox = "0 0 48 48" fill = "none" >
< circle cx = "24" cy = "24" r = "18" stroke = "currentColor" stroke-width = "1.8" / >
< polyline points = "14,24 21,31 34,17" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< / symbol >
< symbol id = "icon-arrow-right" viewBox = "0 0 48 48" fill = "none" >
< line x1 = "6" y1 = "24" x2 = "40" y2 = "24" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" / >
< polyline points = "30,14 40,24 30,34" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< / symbol >
< symbol id = "icon-star" viewBox = "0 0 48 48" fill = "none" >
< polygon points = "24,5 29.5,19 44,19 32.5,28 37,42 24,33 11,42 15.5,28 4,19 18.5,19" stroke = "currentColor" stroke-width = "1.8" stroke-linecap = "round" stroke-linejoin = "round" fill = "none" / >
< / symbol >
< / svg >
<!-- NAV -->
< input type = "checkbox" id = "nav-toggle" aria-hidden = "true" style = "display:none" >
< nav id = "nav" aria-label = "Huvudnavigation" >
< div class = "nav-inner" >
< a class = "nav-logo" href = "https://quixzoom.se/" aria-label = "quiXzoom – till startsidan" > quiX< span class = "x" > zoom< / span > < / a >
< ul class = "nav-links" role = "list" >
< li > < a href = "#hur-det-funkar" > Hur det funkar< / a > < / li >
< li > < a href = "#uppdrag" > Uppdrag< / a > < / li >
< li > < a href = "#tjäna-pengar" > Tjäna pengar< / a > < / li >
< li > < a href = "#uppdragsgivare" > Uppdragsgivare< / a > < / li >
< li > < a href = "#faq" > FAQ< / a > < / li >
< / ul >
< div class = "nav-right" >
< div class = "lang-dropdown" tabindex = "0" role = "navigation" aria-label = "Välj språk" >
< button class = "lang-toggle" aria-haspopup = "true" aria-label = "Välj språk — Svenska aktiv" > 🇸🇪 SV ▾< / button >
< ul class = "lang-menu" role = "menu" >
< li > < a href = "https://quixzoom.se/" hreflang = "sv" class = "active" role = "menuitem" > 🇸🇪 Svenska< / a > < / li >
< li > < a href = "https://quixzoom.de/" hreflang = "de" role = "menuitem" > 🇩🇪 Deutsch< / a > < / li >
< li > < a href = "https://quixzoom.fr/" hreflang = "fr" role = "menuitem" > 🇫🇷 Français< / a > < / li >
< li > < a href = "https://quixzoom.nl/" hreflang = "nl" role = "menuitem" > 🇳🇱 Nederlands< / a > < / li >
< li > < a href = "https://quixzoom.co.uk/" hreflang = "en-gb" role = "menuitem" > 🇬🇧 English< / a > < / li >
< li > < a href = "https://quixzoom.it/" hreflang = "it" role = "menuitem" > 🇮🇹 Italiano< / a > < / li >
< li > < a href = "https://quixzoom.es/" hreflang = "es" role = "menuitem" > 🇪🇸 Español< / a > < / li >
< / ul >
< / div >
< a class = "nav-cta" href = "https://app.quixzoom.com/join" > Bli Zoomer →< / a >
< label class = "hamburger" for = "nav-toggle" aria-label = "Öppna meny" role = "button" >
< span > < / span > < span > < / span > < span > < / span >
< / label >
< / div >
< / div >
< nav class = "mobile-menu" aria-label = "Mobilmeny" >
< a href = "#hur-det-funkar" > Hur det funkar< / a >
< a href = "#uppdrag" > Uppdrag< / a >
< a href = "#tjäna-pengar" > Tjäna pengar< / a >
< a href = "#uppdragsgivare" > Uppdragsgivare< / a >
< a href = "#faq" > FAQ< / a >
< a class = "m-cta" href = "https://app.quixzoom.com/join" > Bli Zoomer gratis →< / a >
< / nav >
< / nav >
< main >
<!-- ====================================================
1. HERO
==================================================== -->
< section id = "hero" aria-labelledby = "hero-h1" >
< div class = "container" >
< div class = "hero-badge" > 🇸🇪 Sverige · Lanseras 1 augusti 2026 · Skärgårdsregionen< / div >
< h1 id = "hero-h1" > Välj ett uppdrag.< br > Gå dit. Fotografera.< br > < em > Tjäna.< / em > < / h1 >
< p class = "hero-sub" > quiXzoom betalar dig f
< p class = "hero-diff" > Nordens enda plattform för on-demand fältinspektion — det drönare och satelliter inte ser.< / p > ör att fotografera infrastruktur, natur och stadsmiljöer nära dig. Välj dina egna tider. Betalt varje måndag.< / p >
< div class = "hero-ctas" >
< a class = "btn-primary" href = "https://app.quixzoom.com/join" > Bli Zoomer gratis →< / a >
< a class = "btn-secondary" href = "#hur-det-funkar" > Se hur det funkar ↓< / a >
< / div >
< div class = "trust-strip" >
< span > Gratis att gå med< / span >
< span > Tidiga zoomers prioriteras vid uppdragsstart< / span >
< span > Betalt varje måndag< / span >
< / div >
< / div >
< / section >
<!-- ====================================================
STATS
==================================================== -->
< section id = "stats" aria-label = "Nyckeltal" >
< div class = "container" >
< div class = "stats-grid" >
< div >
< div class = "stat-value" > 150– 500 kr< / div >
< div class = "stat-label" > per uppdrag< / div >
< / div >
< div >
< div class = "stat-value" > ~30 min< / div >
< div class = "stat-label" > genomsnittlig tid< / div >
< / div >
< div >
< div class = "stat-value" > 1 aug< / div >
< div class = "stat-label" > lansering Sverige 2026< / div >
< / div >
< div >
< div class = "stat-value" > 100%< / div >
< div class = "stat-label" > betalning vid godkänt< / div >
< / div >
< / div >
< / div >
< / section >
<!-- ====================================================
2. HUR DET FUNKAR
==================================================== -->
< section id = "hur-det-funkar" aria-labelledby = "hur-h2" >
< div class = "container" >
< p class = "section-label" > Så funkar det< / p >
< h2 id = "hur-h2" class = "section-title" > Från app till betalt på tre steg< / h2 >
< p class = "section-sub" > Du behöver ingen utbildning och ingen specialutrustning — bara din smartphone och lite tid.< / p >
< div class = "steps-grid" >
< a class = "step-card" href = "https://app.quixzoom.com/join" aria-label = "Steg 1: Ladda ner appen" >
< div class = "step-num" aria-hidden = "true" > 1< / div >
< div class = "step-icon" > < span class = "qx-icon" role = "img" aria-label = "Ladda ner appen" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-phone" / > < / svg > < / span > < / div >
< h3 class = "step-title" > Ladda ner appen< / h3 >
< p class = "step-desc" > Registrera dig på webben — gratis, 5 minuter. ID-verifiering via foto av pass eller körkort + selfie. Fungerar globalt, ingen lokal tjänst krävs.< / p >
< span class = "step-link" > Hämta appen →< / span >
< / a >
< a class = "step-card" href = "#uppdrag" aria-label = "Steg 2: Välj uppdrag på kartan" >
< div class = "step-num" aria-hidden = "true" > 2< / div >
< div class = "step-icon" > < span class = "qx-icon" role = "img" aria-label = "Välj uppdrag på kartan" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-map" / > < / svg > < / span > < / div >
< h3 class = "step-title" > Välj uppdrag på kartan< / h3 >
< p class = "step-desc" > Se tillgängliga uppdrag nära dig. Filter på typ, tid och betalning. Stockholm, Göteborg, Malmö och omgivningar.< / p >
< span class = "step-link" > Se uppdragstyper →< / span >
< / a >
< a class = "step-card" href = "#tjäna-pengar" aria-label = "Steg 3: Fotografera och tjäna" >
< div class = "step-num" aria-hidden = "true" > 3< / div >
< div class = "step-icon" > < span class = "qx-icon" role = "img" aria-label = "Fotografera och tjäna" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-payment" / > < / svg > < / span > < / div >
< h3 class = "step-title" > Fotografera & tjäna< / h3 >
< p class = "step-desc" > Navigera till platsen med kartan. Fotografera enligt specifikationen. Ladda upp. Betalt direkt när godkänt — senast måndag.< / p >
< span class = "step-link" > Hur mycket kan jag tjäna? →< / span >
< / a >
< / div >
< a class = "section-link" href = "#hur-det-funkar" > Har du frågor? Läs vår fullständiga guide →< / a >
< / div >
< / section >
<!-- ====================================================
3. UPPDRAGSTYPER
==================================================== -->
< section id = "uppdrag" aria-labelledby = "uppdrag-h2" >
< div class = "container" >
< p class = "section-label" > Uppdragstyper< / p >
< h2 id = "uppdrag-h2" class = "section-title" > Vilka uppdrag finns?< / h2 >
< p class = "section-sub" > Sex kategorier. Alla med transparent lön. Välj vad som passar dig — eller gör dem alla.< / p >
< div class = "missions-grid" >
< article class = "mission-card" tabindex = "0" role = "article" aria-label = "Infrastrukturinspektion" >
< div class = "mission-header" >
< div class = "mission-icon" > < span class = "qx-icon" role = "img" aria-label = "Infrastrukturinspektion" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-infra" / > < / svg > < / span > < / div >
< h3 class = "mission-title" > Infrastrukturinspektion< / h3 >
< span class = "mission-pay" > 200– 500 kr/uppdrag< / span >
< / div >
< div class = "mission-body" > Broar, vägar, ledningar, fundament. Kommuner och statliga verk betalar för löpande visuell kontroll.< / div >
< div class = "mission-detail" aria-hidden = "true" >
< p > Beställare: Kommuner, statliga myndigheter, infrastrukturbolag. Kräver noggrann bildvinkel enligt spec. Ofta återkommande uppdrag på samma objekt.< / p >
< a class = "mission-cta-link" href = "#uppdrag" > Se aktiva uppdrag →< / a >
< / div >
< / article >
< article class = "mission-card" tabindex = "0" role = "article" aria-label = "Fastighetsbesiktning" >
< div class = "mission-header" >
< div class = "mission-icon" > < span class = "qx-icon" role = "img" aria-label = "Fastighetsbesiktning" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-building" / > < / svg > < / span > < / div >
< h3 class = "mission-title" > Fastighetsbesiktning< / h3 >
< span class = "mission-pay" > 150– 300 kr/uppdrag< / span >
< / div >
< div class = "mission-body" > Fasader, tak, entréer, parkeringar. Fastighetsbolag dokumenterar löpande för försäkring och underhållsplanering.< / div >
< div class = "mission-detail" aria-hidden = "true" >
< p > Beställare: Fastighetsbolag, bostadsrättsföreningar, kommunala bolag. Hög frekvens — många objekt per stad.< / p >
< a class = "mission-cta-link" href = "#uppdrag" > Se aktiva uppdrag →< / a >
< / div >
< / article >
< article class = "mission-card" tabindex = "0" role = "article" aria-label = "Naturmiljö och skärgård" >
< div class = "mission-header" >
< div class = "mission-icon" > < span class = "qx-icon" role = "img" aria-label = "Naturmiljö och skärgård" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-nature" / > < / svg > < / span > < / div >
< h3 class = "mission-title" > Naturmiljö & skärgård< / h3 >
< span class = "mission-pay" > 200– 400 kr/uppdrag< / span >
< / div >
< div class = "mission-body" > Kuster, stränder, farleder. Maritima myndigheter, naturvårdsbolag, forskning. Perfekt för dig som redan är ute i naturen.< / div >
< div class = "mission-detail" aria-hidden = "true" >
< p > Beställare: maritima myndigheter, naturvårdsbolag, forskning.< / p >
< a class = "mission-cta-link" href = "#uppdrag" > Se aktiva uppdrag →< / a >
< / div >
< / article >
< article class = "mission-card" tabindex = "0" role = "article" aria-label = "Skadedokumentation" >
< div class = "mission-header" >
< div class = "mission-icon" > < span class = "qx-icon" role = "img" aria-label = "Skadedokumentation" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-damage" / > < / svg > < / span > < / div >
< h3 class = "mission-title" > Skadedokumentation< / h3 >
< span class = "mission-pay" > 300– 500 kr/uppdrag< / span >
< / div >
< div class = "mission-body" > Stormskador, översvämning, vandalism. Försäkringsbolag. Snabbast uppdrag = högst betalt. Tidskritiskt — bonus för snabb leverans.< / div >
< div class = "mission-detail" aria-hidden = "true" >
< p > Beställare: stora och lokala försäkringsbolag. Utlöses automatiskt vid stormar och väderhändelser.< / p >
< a class = "mission-cta-link" href = "#uppdrag" > Se aktiva uppdrag →< / a >
< / div >
< / article >
< article class = "mission-card" tabindex = "0" role = "article" aria-label = "Geoverifiering" >
< div class = "mission-header" >
< div class = "mission-icon" > < span class = "qx-icon" role = "img" aria-label = "Geoverifiering" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-geo" / > < / svg > < / span > < / div >
< h3 class = "mission-title" > Geoverifiering< / h3 >
< span class = "mission-pay" > 150– 250 kr/uppdrag< / span >
< / div >
< div class = "mission-body" > Verifiera att ett objekt finns och ser ut som förväntat. E-handel, banker, fastighetsmäklare. Snabbt och enkelt.< / div >
< div class = "mission-detail" aria-hidden = "true" >
< p > Beställare: E-handels-, finans- och logistikföretag. Enkla uppdrag — ofta 10– 15 minuter.< / p >
< a class = "mission-cta-link" href = "#uppdrag" > Se aktiva uppdrag →< / a >
< / div >
< / article >
< article class = "mission-card" tabindex = "0" role = "article" aria-label = "Stadsmiljö" >
< div class = "mission-header" >
< div class = "mission-icon" > < span class = "qx-icon" role = "img" aria-label = "Stadsmiljö" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-city" / > < / svg > < / span > < / div >
< h3 class = "mission-title" > Stadsmiljö< / h3 >
< span class = "mission-pay" > 150– 300 kr/uppdrag< / span >
< / div >
< div class = "mission-body" > Gatumiljö, skyltar, tillgänglighet. Kommuner, butikskedjor, stadsplanering. Perfekt i närmiljön.< / div >
< div class = "mission-detail" aria-hidden = "true" >
< p > Beställare: kommuner, butikskedjor, stadsplanerare.< / p >
< a class = "mission-cta-link" href = "#uppdrag" > Se aktiva uppdrag →< / a >
< / div >
< / article >
< / div >
< a class = "section-link" href = "#uppdrag" > Bläddra bland alla aktiva uppdrag →< / a >
< / div >
< / section >
<!-- ====================================================
4. TJÄNA PENGAR
==================================================== -->
< section id = "tjäna-pengar" aria-labelledby = "tjanar-h2" >
< div class = "container" >
< p class = "section-label" > Inkomst< / p >
< h2 id = "tjanar-h2" class = "section-title" > Hur mycket kan du tjäna?< / h2 >
< p class = "earnings-intro" > Det beror på hur aktiv du är. Här är beräknade inkomstnivåer baserat på uppdragstyp.< / p >
< div class = "pricing-grid" >
< div class = "pricing-card" >
< div class = "pricing-level" > Deltid< / div >
< div class = "pricing-amount" > 1 200– 3 000 < span > kr/mån< / span > < / div >
< div class = "pricing-freq" > 2– 4 uppdrag per vecka< / div >
< div class = "pricing-desc" > Perfekt som komplement till studier eller deltidsjobb. Flexibla timmar, inga krav.< / div >
< / div >
< div class = "pricing-card featured" aria-label = "Rekommenderad nivå: Aktivt" >
< div class = "pricing-badge" > Rekommenderat< / div >
< div class = "pricing-level" > Aktivt< / div >
< div class = "pricing-amount" > 3 500– 7 500 < span > kr/mån< / span > < / div >
< div class = "pricing-freq" > 8– 12 uppdrag per vecka< / div >
< div class = "pricing-desc" > Huvudinkomst för många zoomers. Bygger upp betyg snabbt — öppnar premiumuppdrag.< / div >
< / div >
< div class = "pricing-card" >
< div class = "pricing-level" > Proffs< / div >
< div class = "pricing-amount" > 8 000– 15 000 < span > kr/mån< / span > < / div >
< div class = "pricing-freq" > 15+ uppdrag per vecka< / div >
< div class = "pricing-desc" > Erfarna zoomers med högt betyg prioriteras för premiumuppdrag och bonusar.< / div >
< / div >
< / div >
< details class = "payment-details" >
< summary > Betalning & skatt — hur funkar det?< / summary >
< div class = "payment-details-body" >
< ul >
< li > Utbetalning varje < strong > måndag< / strong > via Stripe — direkt till ditt bankkonto (IBAN)< / li >
< li > Inga dolda avgifter. Det belopp du ser i appen är det du får.< / li >
< li > < strong > DAC7-compliant:< / strong > vi rapporterar din inkomst till Skatteverket automatiskt när årsintäkten överstiger 2 000 EUR (ca 22 000 kr). Krav enligt EU-lag.< / li >
< li > Du får fullständig skattespecifikation i appen inför varje deklaration.< / li >
< li > Inkomsten är skattepliktig som inkomst av tjänst eller näringsverksamhet.< / li >
< li > < a href = "#faq" > Läs mer om skatt och DAC7 →< / a > < / li >
< / ul >
< / div >
< / details >
< div style = "margin-top:36px" >
< a class = "btn-primary" href = "https://app.quixzoom.com/join" > Börja tjäna →< / a >
< / div >
< / div >
< / section >
<!-- ====================================================
5. VARFÖR quiXzoom (FEATURES)
==================================================== -->
< section id = "varfor" aria-labelledby = "varfor-h2" >
< div class = "container" >
< p class = "section-label" > Plattformen< / p >
< h2 id = "varfor-h2" class = "section-title" > Byggt för att fungera på riktigt< / h2 >
< p class = "section-sub" > Vi har designat varje detalj för att du ska kunna fokusera på att tjäna pengar — inte förstå krångliga system.< / p >
< div class = "features-grid" >
< a class = "feature-card" href = "#tjäna-pengar" aria-label = "Transparent betalning — läs mer" >
< div class = "feature-icon" > < span class = "qx-icon" role = "img" aria-label = "Transparent betalning" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-check-circle" / > < / svg > < / span > < / div >
< h3 class = "feature-title" > Transparent betalning< / h3 >
< p class = "feature-desc" > Du ser exakt vad varje uppdrag betalar innan du accepterar. Inga dolda avdrag. Inga överraskningar.< / p >
< span class = "feature-link" > Hur betalning funkar →< / span >
< / a >
< a class = "feature-card" href = "#hur-det-funkar" aria-label = "Bara din telefon — läs mer" >
< div class = "feature-icon" > < span class = "qx-icon" role = "img" aria-label = "Bara din telefon" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-camera" / > < / svg > < / span > < / div >
< h3 class = "feature-title" > Bara din telefon< / h3 >
< p class = "feature-desc" > iPhone eller Android räcker. Kamerakvaliteten i moderna smartphones överstiger våra krav med råge.< / p >
< span class = "feature-link" > Tekniska krav →< / span >
< / a >
< a class = "feature-card" href = "#hur-det-funkar" aria-label = "Global ID-verifiering — läs mer" >
< div class = "feature-icon" > < span class = "qx-icon" role = "img" aria-label = "Global ID-verifiering" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-bankid" / > < / svg > < / span > < / div >
< h3 class = "feature-title" > Global ID-verifiering< / h3 >
< p class = "feature-desc" > Foto av ditt pass eller ID-kort + en selfie. AI:n verifierar identiteten direkt — ingen lokal tjänst, inga konton hos tredje part. Fungerar i alla länder.< / p >
< span class = "feature-link" > Om verifieringsprocessen →< / span >
< / a >
< a class = "feature-card" href = "https://app.quixzoom.com" aria-label = "Realtidsstatistik — öppna appen" >
< div class = "feature-icon" > < span class = "qx-icon" role = "img" aria-label = "Realtidsstatistik" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-stats" / > < / svg > < / span > < / div >
< h3 class = "feature-title" > Realtidsstatistik< / h3 >
< p class = "feature-desc" > Se din intjäning, betyg och historik direkt i appen. Full transparens — dina data, ditt kontroll.< / p >
< span class = "feature-link" > Öppna appen ↗< / span >
< / a >
< / div >
< / div >
< / section >
<!-- ====================================================
6. FÖR UPPDRAGSGIVARE
==================================================== -->
< section id = "uppdragsgivare" aria-labelledby = "biz-h2" >
< div class = "container" >
< p class = "section-label" > För uppdragsgivare< / p >
< h2 id = "biz-h2" class = "section-title" > Beställ bilddata från hela Sverige< / h2 >
< p class = "section-sub" > Sluta skicka ut egna team för rutininspektion. quiXzoom levererar verifierad, geotaggad bilddata på beställning — snabbt och kostnadseffektivt.< / p >
< div class = "clients-grid" >
< article class = "client-card" tabindex = "0" >
< div class = "client-header" >
< div class = "client-icon" > < span class = "qx-icon" role = "img" aria-label = "Kommuner och myndigheter" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-gov" / > < / svg > < / span > < / div >
< h3 class = "client-title" > Kommuner & myndigheter< / h3 >
< p class = "client-desc" > Löpande visuell kontroll av kommunal infrastruktur. API-integration till ditt ärendesystem. SLA-avtal tillgängliga.< / p >
< / div >
< div class = "client-extra" >
< ul >
< li > Täckning: hela Sverige, inklusive glesbygd< / li >
< li > API-integration till ärendesystem och anpassade plattformar< / li >
< li > GDPR-compliant bildhantering< / li >
< li > SLA med garanterade svarstider< / li >
< / ul >
< a href = "#uppdragsgivare" > Läs mer om offentlig sektor →< / a >
< / div >
< / article >
< article class = "client-card" tabindex = "0" >
< div class = "client-header" >
< div class = "client-icon" > < span class = "qx-icon" role = "img" aria-label = "Infrastrukturinspektion" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-infra" / > < / svg > < / span > < / div >
< h3 class = "client-title" > Fastighets- & infrastrukturbolag< / h3 >
< p class = "client-desc" > Systematisk fasaddokumentation, skaderapportering, underhållsunderlag. Exportformat: JPEG, RAW, PDF-rapport, API.< / p >
< / div >
< div class = "client-extra" >
< ul >
< li > Löpande fasaddokumentation för hela beståndet< / li >
< li > Integreras med fastighetssystem och förvaltningsplattformar< / li >
< li > Export: JPEG, RAW, PDF, GeoJSON, API-stream< / li >
< li > Prissättning per objekt eller abonnemang< / li >
< / ul >
< a href = "#uppdragsgivare" > Läs mer om fastighetsbolag →< / a >
< / div >
< / article >
< article class = "client-card" tabindex = "0" >
< div class = "client-header" >
< div class = "client-icon" > < span class = "qx-icon" role = "img" aria-label = "Försäkringsbolag" > < svg viewBox = "0 0 48 48" aria-hidden = "true" > < use href = "#icon-shield" / > < / svg > < / span > < / div >
< h3 class = "client-title" > Försäkringsbolag< / h3 >
< p class = "client-desc" > Skadedokumentation inom timmar, inte dagar. DAC7-compliant, rättsligt hållbar bildbevisning med full metadata.< / p >
< / div >
< div class = "client-extra" >
< ul >
< li > Skadedokumentation påbörjas inom 60 minuter< / li >
< li > Geotaggad, tidsstämplad och manipuleringssäker< / li >
< li > Rättsligt hållbar bildbevisning med chain-of-custody< / li >
< li > Integreras med skadehanteringssystem< / li >
< / ul >
< a href = "#uppdragsgivare" > Läs mer om försäkringsbolag →< / a >
< / div >
< / article >
< / div >
< div class = "client-ctas" >
< a class = "btn-primary" href = "mailto:enterprise@quixzoom.com" > Kontakta oss →< / a >
< a class = "btn-outline" href = "mailto:enterprise@quixzoom.com" > Beställ demo →< / a >
< a class = "btn-ghost" href = "#uppdragsgivare" > Alla kundlösningar ↗< / a >
< / div >
< / div >
< / section >
<!-- ====================================================
7. FAQ
==================================================== -->
< section id = "faq" aria-labelledby = "faq-h2" >
< div class = "container" >
< p class = "section-label" > FAQ< / p >
< h2 id = "faq-h2" class = "section-title" > Vanliga frågor< / h2 >
< div class = "faq-list" role = "list" >
< details >
< summary > Hur mycket kan jag tjäna som zoomer i Sverige?< / summary >
< div class = "faq-answer-body" >
Det beror på hur aktiv du är. < strong > Deltid< / strong > (2– 4 uppdrag/vecka) ger 1 200– 3 000 kr/mån. < strong > Aktivt< / strong > (8– 12 uppdrag/vecka) ger 3 500– 7 500 kr/mån. < strong > Proffs< / strong > (15+ uppdrag/vecka) ger 8 000– 15 000 kr/mån. Varje uppdrag betalar 150– 500 kr beroende på typ och komplexitet. < a href = "#tjäna-pengar" > Se alla inkomstnivåer →< / a >
< / div >
< / details >
< details >
< summary > Måste jag ha professionell kamera?< / summary >
< div class = "faq-answer-body" >
Nej. Din smartphone räcker. Vi accepterar bilder från < strong > iPhone 12+< / strong > och < strong > Android-telefoner med 12MP+< / strong > . Kamerautrustning krävs aldrig. Appen guidar dig exakt vad du ska fotografera och ur vilken vinkel.
< / div >
< / details >
< details >
< summary > Hur och när får jag betalt?< / summary >
< div class = "faq-answer-body" >
Betalt < strong > varje måndag< / strong > för föregående veckas godkända uppdrag. Direkt till ditt bankkonto via Stripe (IBAN). Första utbetalningen kräver verifierad identitet — ett foto av ditt pass/ID-kort och en selfie. Tar under 2 minuter. Sker vid registrering.
< / div >
< / details >
< details >
< summary > Vilka uppdrag finns i Sverige just nu?< / summary >
< div class = "faq-answer-body" >
Vi lanserar i < strong > skärgårdsregionen< / strong > (Stockholm– Nynäshamn– Vaxholm) den 1 augusti 2026 med infrastruktur- och naturuppdrag. Fler regioner öppnar Q4 2026. Registrera dig nu och välj din region — du meddelas när uppdrag finns nära dig. < a href = "https://app.quixzoom.com/join" > Registrera dig →< / a >
< / div >
< / details >
< details >
< summary > Är det skattebelagt?< / summary >
< div class = "faq-answer-body" >
Ja. Inkomst från quiXzoom är skattepliktig som inkomst av tjänst eller näringsverksamhet. Vi rapporterar automatiskt till Skatteverket via < strong > DAC7< / strong > när din årsintäkt överstiger 2 000 EUR (ca 22 000 kr) — som lag kräver. Du får all dokumentation i appen. < a href = "#faq" > Läs mer om skatt och DAC7 →< / a >
< / div >
< / details >
< details >
< summary > Hur snabbt godkänns mitt foto?< / summary >
< div class = "faq-answer-body" >
AI:n analyserar ditt foto direkt mot uppdragets kriterier — vinkel, ljus, objekttäckning. Svar inom sekunder. Godkänt? Betalning registreras direkt. Ej godkänt? Du ser exakt vad som saknas och kan göra ett nytt försök inom en minut, på samma plats.
< / div >
< / details >
< details >
< summary > Kan jag jobba som zoomer som bisyssla?< / summary >
< div class = "faq-answer-body" >
Absolut. De flesta zoomers jobbar deltid — vid sidan av studier, deltidsjobb eller andra åtaganden. Du väljer helt själv < strong > när och hur mycket< / strong > . Ingen minimitid, inga scheman, inga straff för inaktivitet.
< / div >
< / details >
< details >
< summary > Hur verifieras min identitet — krävs BankID?< / summary >
< div class = "faq-answer-body" >
< strong > ID-foto + selfie.< / strong > Ladda upp ett foto av ditt pass, nationella ID-kort eller körkort. Ta en selfie. Vår AI matchar dig mot dokumentet direkt — inga konton hos tredje part, ingen lokal tjänst. Krävs en gång, fungerar från alla länder.
< / div >
< / details >
< / div >
< p class = "faq-contact" > Hittar du inte svaret? < a href = "mailto:ops@quixzoom.com" > Kontakta oss på ops@quixzoom.com →< / a > < / p >
< / div >
< / section >
<!-- ====================================================
8. APP DOWNLOAD CTA
==================================================== -->
< section id = "app-cta" aria-labelledby = "app-h2" >
< div class = "container" >
< p class = "section-label" style = "color:rgba(255,255,255,.5)" > Kom igång< / p >
< h2 id = "app-h2" class = "section-title" > Redo att börja?< / h2 >
< p class = "app-sub" > Registrera dig gratis. Välj ditt första uppdrag. Tjäna pengar den här veckan.< / p >
< div class = "app-buttons" >
< a class = "app-btn" href = "https://app.quixzoom.com/join" aria-label = "Registrera dig — App Store kommer snart" >
< div class = "app-btn-icon" > 🍎< / div >
< div class = "app-btn-text" >
< small > Ladda ner på< / small >
App Store
< / div >
< / a >
< a class = "app-btn" href = "https://app.quixzoom.com/join" aria-label = "Registrera dig — Google Play kommer snart" >
< div class = "app-btn-icon" > ▶< / div >
< div class = "app-btn-text" >
< small > Hämta på< / small >
Google Play
< / div >
< / a >
< / div >
< div class = "app-trust" >
< span > Gratis< / span >
< span > Inga dolda avgifter< / span >
< span > Global ID-verifiering< / span >
< span > GDPR-compliant< / span >
< / div >
< / div >
< / section >
< / main >
<!-- ====================================================
FOOTER
==================================================== -->
< footer >
< div class = "footer-inner" >
< div class = "footer-cols" >
< div class = "footer-brand" >
< div class = "brand-logo" > quiX< span class = "x" > zoom< / span > < / div >
< div class = "tagline" > The World's Camera Network< / div >
< nav class = "footer-lang" aria-label = "Välj språk" >
< a href = "https://quixzoom.se/" hreflang = "sv" class = "active" aria-label = "Svenska" > 🇸🇪 SV< / a >
< a href = "https://quixzoom.de/" hreflang = "de" aria-label = "Deutsch" > 🇩🇪 DE< / a >
< a href = "https://quixzoom.fr/" hreflang = "fr" aria-label = "Français" > 🇫🇷 FR< / a >
< a href = "https://quixzoom.nl/" hreflang = "nl" aria-label = "Nederlands" > 🇳🇱 NL< / a >
< a href = "https://quixzoom.co.uk/" hreflang = "en-gb" aria-label = "English" > 🇬🇧 EN< / a >
< a href = "https://quixzoom.it/" hreflang = "it" aria-label = "Italiano" > 🇮🇹 IT< / a >
< a href = "https://quixzoom.es/" hreflang = "es" aria-label = "Español" > 🇪🇸 ES< / a >
< / nav >
< / div >
< div class = "footer-col" >
< h4 > Zoomer< / h4 >
< ul >
< li > < a href = "https://app.quixzoom.com/join" > Bli Zoomer< / a > < / li >
< li > < a href = "#hur-det-funkar" > Hur det funkar< / a > < / li >
< li > < a href = "#uppdrag" > Uppdragstyper< / a > < / li >
< li > < a href = "#tjäna-pengar" > Tjäna pengar< / a > < / li >
< li > < a href = "#hur-det-funkar" > Guide< / a > < / li >
< li > < a href = "#faq" > Skatt & DAC7< / a > < / li >
< / ul >
< / div >
< div class = "footer-col" >
< h4 > Uppdragsgivare< / h4 >
< ul >
< li > < a href = "#uppdragsgivare" > Beställ bilddata< / a > < / li >
< li > < a href = "#uppdragsgivare" > Kommuner< / a > < / li >
< li > < a href = "#uppdragsgivare" > Fastighetsbolag< / a > < / li >
< li > < a href = "#uppdragsgivare" > Försäkringsbolag< / a > < / li >
< li > < a href = "mailto:enterprise@quixzoom.com" > API-dokumentation< / a > < / li >
< li > < a href = "#uppdragsgivare" > Priser< / a > < / li >
< / ul >
< / div >
< div class = "footer-col" >
< h4 > quiXzoom< / h4 >
< ul >
< li > < a href = "mailto:ops@quixzoom.com" > Om oss< / a > < / li >
< li > < a href = "mailto:ops@quixzoom.com" > Karriär< / a > < / li >
< li > < a href = "mailto:press@quixzoom.com" > Press< / a > < / li >
< li > < a href = "mailto:ops@quixzoom.com" > Blog< / a > < / li >
< li > < a href = "mailto:ops@quixzoom.com" > Kontakt< / a > < / li >
< / ul >
< / div >
< div class = "footer-col" >
< h4 > Juridiskt< / h4 >
< ul >
< li > < a href = "mailto:ops@quixzoom.com" > Integritetspolicy< / a > < / li >
< li > < a href = "mailto:ops@quixzoom.com" > Användarvillkor< / a > < / li >
< li > < a href = "mailto:ops@quixzoom.com" > Cookiepolicy< / a > < / li >
< li > < a href = "mailto:ops@quixzoom.com" > GDPR< / a > < / li >
< li > < a href = "#faq" > DAC7< / a > < / li >
< / ul >
< / div >
< / div >
< div class = "footer-bottom" >
< span class = "footer-copy" > © 2026 quiXzoom AB · Alla rättigheter förbehållna< / span >
< span class = "footer-aamos" > En tjänst från < a href = "https://aamos.systems" target = "_blank" rel = "noopener noreferrer" > Wavult Group< / a > · Enterprise AI-plattform · < a href = "https://aamos.systems" target = "_blank" rel = "noopener noreferrer" > aamos.systems< / a > < / span >
< / div >
< / div >
< / footer >
< script >
// Mobile menu: close on nav link click
document . querySelectorAll ( '.mobile-menu a' ) . forEach ( function ( a ) {
a . addEventListener ( 'click' , function ( ) {
document . getElementById ( 'nav-toggle' ) . checked = false ;
} ) ;
} ) ;
< / script >
2026-07-05 06:41:32 +00:00
<!-- === INFOGRAPHIC INJECTED === -->
< div class = "section" >
< div class = "container" >
<!-- Landvex & quiXzoom — Illustrerad Processinfografik -->
<!-- Återanvändbar komponent för alla landningssidor -->
<!-- Användning: Kopiera innehållet mellan <style> och slutet till målsida -->
< style >
/* === INFOGRAPHIC COMPONENT === */
. lv-infographic {
--lv-teal : #0d7377 ;
--lv-teal-light : #e8f4f8 ;
--lv-teal-dark : #0a5e61 ;
--lv-gray : #f5f5f7 ;
--lv-text : #1d1d1f ;
--lv-text-secondary : #5f6368 ;
--lv-white : #ffffff ;
--lv-border : #d2d2d7 ;
--lv-radius : 16 px ;
--lv-shadow : 0 2 px 20 px rgba ( 0 , 0 , 0 , 0.08 ) ;
--lv-shadow-lg : 0 8 px 40 px rgba ( 0 , 0 , 0 , 0.12 ) ;
font-family : - apple-system , BlinkMacSystemFont , 'SF Pro Display' , 'Helvetica Neue' , Arial , sans-serif ;
max-width : 900 px ;
margin : 0 auto ;
padding : 60 px 24 px ;
background : var ( - - lv - white ) ;
}
. lv-infographic * {
margin : 0 ;
padding : 0 ;
box-sizing : border-box ;
}
/* Header */
. lv-header {
text-align : center ;
margin-bottom : 48 px ;
}
. lv-header h2 {
font-size : clamp ( 1.75 rem , 4 vw , 2.5 rem ) ;
font-weight : 900 ;
color : var ( - - lv - teal ) ;
margin-bottom : 12 px ;
letter-spacing : -0.03 em ;
line-height : 1.1 ;
}
. lv-header p {
font-size : 1.0625 rem ;
color : var ( - - lv - text - secondary ) ;
max-width : 560 px ;
margin : 0 auto ;
line-height : 1.6 ;
}
/* Brand pills */
. lv-brands {
display : flex ;
justify-content : center ;
gap : 12 px ;
margin-bottom : 40 px ;
flex-wrap : wrap ;
}
. lv-brand-pill {
display : flex ;
align-items : center ;
gap : 8 px ;
padding : 8 px 18 px ;
border-radius : 100 px ;
font-size : 0.8125 rem ;
font-weight : 700 ;
letter-spacing : 0.01 em ;
}
. lv-brand-pill . landvex {
background : var ( - - lv - teal ) ;
color : var ( - - lv - white ) ;
}
. lv-brand-pill . quixzoom {
background : var ( - - lv - teal - light ) ;
color : var ( - - lv - teal ) ;
border : 2 px solid var ( - - lv - teal ) ;
}
/* Timeline */
. lv-timeline {
position : relative ;
padding-left : 64 px ;
}
. lv-timeline :: before {
content : '' ;
position : absolute ;
left : 23 px ;
top : 32 px ;
bottom : 32 px ;
width : 2 px ;
background : var ( - - lv - teal ) ;
}
/* Step */
. lv-step {
position : relative ;
margin-bottom : 32 px ;
}
. lv-step : last-child {
margin-bottom : 0 ;
}
. lv-step-marker {
position : absolute ;
left : -64 px ;
top : 0 ;
width : 48 px ;
height : 48 px ;
background : var ( - - lv - white ) ;
border : 3 px solid var ( - - lv - teal ) ;
border-radius : 50 % ;
display : flex ;
align-items : center ;
justify-content : center ;
font-size : 1.25 rem ;
font-weight : 800 ;
color : var ( - - lv - teal ) ;
z-index : 2 ;
box-shadow : 0 2 px 8 px rgba ( 13 , 115 , 119 , 0.15 ) ;
}
. lv-step-content {
background : var ( - - lv - white ) ;
border-radius : var ( - - lv - radius ) ;
padding : 28 px ;
box-shadow : var ( - - lv - shadow ) ;
border : 1 px solid var ( - - lv - border ) ;
transition : transform 0.2 s , box-shadow 0.2 s ;
}
. lv-step-content : hover {
transform : translateY ( -2 px ) ;
box-shadow : var ( - - lv - shadow - lg ) ;
}
. lv-step-header {
display : flex ;
align-items : center ;
gap : 14 px ;
margin-bottom : 12 px ;
}
. lv-step-icon {
width : 44 px ;
height : 44 px ;
flex-shrink : 0 ;
color : var ( - - lv - teal ) ;
}
. lv-step-icon svg {
width : 100 % ;
height : 100 % ;
}
. lv-step-title {
font-size : 1.125 rem ;
font-weight : 800 ;
color : var ( - - lv - teal ) ;
letter-spacing : -0.01 em ;
}
. lv-step-body {
color : var ( - - lv - text - secondary ) ;
font-size : 0.9375 rem ;
line-height : 1.7 ;
padding-left : 58 px ;
}
. lv-step-body strong {
color : var ( - - lv - text ) ;
font-weight : 700 ;
}
/* Connection */
. lv-connection {
display : flex ;
align-items : center ;
justify-content : center ;
margin : -16 px 0 -16 px 58 px ;
position : relative ;
z-index : 1 ;
}
. lv-connection svg {
color : var ( - - lv - teal ) ;
opacity : 0.6 ;
}
/* Dual path */
. lv-dual-path {
display : grid ;
grid-template-columns : 1 fr 1 fr ;
gap : 16 px ;
margin-top : 20 px ;
padding-left : 58 px ;
}
. lv-path-card {
background : var ( - - lv - gray ) ;
border-radius : 12 px ;
padding : 20 px ;
border : 2 px solid transparent ;
transition : border-color 0.2 s ;
}
. lv-path-card : hover {
border-color : var ( - - lv - teal ) ;
}
. lv-path-card h4 {
font-size : 0.9375 rem ;
font-weight : 800 ;
color : var ( - - lv - teal ) ;
margin-bottom : 6 px ;
display : flex ;
align-items : center ;
gap : 8 px ;
}
. lv-path-card p {
font-size : 0.8125 rem ;
color : var ( - - lv - text - secondary ) ;
line-height : 1.6 ;
}
/* Metrics */
. lv-metrics {
display : grid ;
grid-template-columns : repeat ( 3 , 1 fr ) ;
gap : 12 px ;
margin-top : 20 px ;
padding-left : 58 px ;
}
. lv-metric {
background : var ( - - lv - teal ) ;
color : var ( - - lv - white ) ;
border-radius : 12 px ;
padding : 16 px 12 px ;
text-align : center ;
}
. lv-metric-value {
font-size : 1.75 rem ;
font-weight : 900 ;
display : block ;
line-height : 1 ;
letter-spacing : -0.02 em ;
}
. lv-metric-label {
font-size : 0.6875 rem ;
opacity : 0.9 ;
text-transform : uppercase ;
letter-spacing : 0.06 em ;
margin-top : 6 px ;
display : block ;
}
/* CTA */
. lv-cta {
text-align : center ;
margin-top : 48 px ;
padding : 36 px 24 px ;
background : var ( - - lv - gray ) ;
border-radius : var ( - - lv - radius ) ;
}
. lv-cta h3 {
font-size : 1.375 rem ;
color : var ( - - lv - teal ) ;
margin-bottom : 10 px ;
font-weight : 800 ;
}
. lv-cta p {
color : var ( - - lv - text - secondary ) ;
font-size : 0.9375 rem ;
margin-bottom : 24 px ;
}
. lv-cta-buttons {
display : flex ;
gap : 12 px ;
justify-content : center ;
flex-wrap : wrap ;
}
. lv-cta-btn {
padding : 12 px 28 px ;
border-radius : 100 px ;
font-size : 0.9375 rem ;
font-weight : 700 ;
text-decoration : none ;
transition : transform 0.15 s , box-shadow 0.15 s ;
display : inline-flex ;
align-items : center ;
gap : 6 px ;
}
. lv-cta-btn : hover {
transform : translateY ( -2 px ) ;
box-shadow : 0 4 px 12 px rgba ( 0 , 0 , 0 , 0.15 ) ;
}
. lv-cta-btn . primary {
background : var ( - - lv - teal ) ;
color : var ( - - lv - white ) ;
}
. lv-cta-btn . secondary {
background : var ( - - lv - white ) ;
color : var ( - - lv - teal ) ;
border : 2 px solid var ( - - lv - teal ) ;
}
/* Responsive */
@ media ( max-width : 640px ) {
. lv-timeline {
padding-left : 52 px ;
}
. lv-step-marker {
left : -52 px ;
width : 40 px ;
height : 40 px ;
font-size : 1 rem ;
}
. lv-timeline :: before {
left : 19 px ;
}
. lv-step-content {
padding : 20 px ;
}
. lv-step-body ,
. lv-dual-path ,
. lv-metrics {
padding-left : 0 ;
}
. lv-dual-path {
grid-template-columns : 1 fr ;
}
. lv-metrics {
grid-template-columns : 1 fr ;
}
. lv-step-header {
margin-bottom : 10 px ;
}
. lv-step-icon {
width : 36 px ;
height : 36 px ;
}
}
/* Animation */
@ keyframes lvFadeInUp {
from {
opacity : 0 ;
transform : translateY ( 16 px ) ;
}
to {
opacity : 1 ;
transform : translateY ( 0 ) ;
}
}
. lv-step {
animation : lvFadeInUp 0.5 s ease forwards ;
opacity : 0 ;
}
. lv-step : nth-child ( 1 ) { animation-delay : 0.1 s ; }
. lv-step : nth-child ( 3 ) { animation-delay : 0.2 s ; }
. lv-step : nth-child ( 5 ) { animation-delay : 0.3 s ; }
. lv-step : nth-child ( 7 ) { animation-delay : 0.4 s ; }
. lv-step : nth-child ( 9 ) { animation-delay : 0.5 s ; }
< / style >
< div class = "lv-infographic" >
<!-- Header -->
< div class = "lv-header" >
< h2 > Från observation till beslut< / h2 >
< p > Landvex och quiXzoom arbetar tillsammans för att samla, analysera och omvandla fältdata till kontrollerad intelligens.< / p >
< / div >
<!-- Brand pills -->
< div class = "lv-brands" >
< div class = "lv-brand-pill landvex" >
< svg width = "14" height = "14" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2.5" >
< 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 >
Landvex Intelligence
< / div >
< div class = "lv-brand-pill quixzoom" >
< svg width = "14" height = "14" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2.5" >
< circle cx = "12" cy = "12" r = "3" / >
< path d = "M12 2v4m0 12v4m10-10h-4M6 12H2" / >
< / svg >
quiXzoom Field
< / div >
< / div >
<!-- Timeline -->
< div class = "lv-timeline" >
<!-- Step 1 -->
< div class = "lv-step" >
< div class = "lv-step-marker" > 1< / div >
< div class = "lv-step-content" >
< div class = "lv-step-header" >
< div class = "lv-step-icon" >
< svg viewBox = "0 0 48 48" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< circle cx = "24" cy = "24" r = "20" / >
< path d = "M24 14v10l7 7" / >
< circle cx = "24" cy = "24" r = "3" fill = "currentColor" / >
< / svg >
< / div >
< h3 class = "lv-step-title" > Definiera beslutet< / h3 >
< / div >
< div class = "lv-step-body" >
< p > Vad behöver du veta? Landvex hjälper dig att formulera rätt fråga innan datainsamlingen börjar. < strong > Ingen data utan syfte.< / strong > < / p >
< / div >
< / div >
< / div >
< div class = "lv-connection" >
< svg width = "20" height = "20" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2.5" >
< path d = "M12 5v14m-7-7l7 7 7-7" / >
< / svg >
< / div >
<!-- Step 2 -->
< div class = "lv-step" >
< div class = "lv-step-marker" > 2< / div >
< div class = "lv-step-content" >
< div class = "lv-step-header" >
< div class = "lv-step-icon" >
< svg viewBox = "0 0 48 48" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< rect x = "8" y = "12" width = "32" height = "24" rx = "4" / >
< circle cx = "24" cy = "24" r = "6" / >
< path d = "M32 14l-2-6h-12l-2 6" / >
< path d = "M16 32l-4 8m20-8l4 8" / >
< / svg >
< / div >
< h3 class = "lv-step-title" > Samla bevis från fältet< / h3 >
< / div >
< div class = "lv-step-body" >
< p > quiXzooms zoomers fotograferar och dokumenterar verkliga platser med sina smartphones. Drönare, kameror och sensorer kompletterar bilden. < strong > Multi-källinsamling i realtid.< / strong > < / p >
< / div >
< / div >
< / div >
< div class = "lv-connection" >
< svg width = "20" height = "20" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2.5" >
< path d = "M12 5v14m-7-7l7 7 7-7" / >
< / svg >
< / div >
<!-- Step 3 -->
< div class = "lv-step" >
< div class = "lv-step-marker" > 3< / div >
< div class = "lv-step-content" >
< div class = "lv-step-header" >
< div class = "lv-step-icon" >
< svg viewBox = "0 0 48 48" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "M24 4v8" / >
< path d = "M24 36v8" / >
< path d = "M4 24h8" / >
< path d = "M36 24h8" / >
< circle cx = "24" cy = "24" r = "12" / >
< path d = "M24 18v6l4 4" / >
< / svg >
< / div >
< h3 class = "lv-step-title" > Verifiera mot verkligheten< / h3 >
< / div >
< div class = "lv-step-body" >
< p > Landvex jämför officiella data med fältobservationer. Skillnader flaggas automatiskt. < strong > OFFICIELL vs VERKLIGHET — vi hittar gapen.< / strong > < / p >
< / div >
< / div >
< / div >
< div class = "lv-connection" >
< svg width = "20" height = "20" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2.5" >
< path d = "M12 5v14m-7-7l7 7 7-7" / >
< / svg >
< / div >
<!-- Step 4 -->
< div class = "lv-step" >
< div class = "lv-step-marker" > 4< / div >
< div class = "lv-step-content" >
< div class = "lv-step-header" >
< div class = "lv-step-icon" >
< svg viewBox = "0 0 48 48" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< path d = "M6 40h36" / >
< path d = "M6 32h8v8H6z" / >
< path d = "M18 24h8v16h-8z" / >
< path d = "M30 12h8v28h-8z" / >
< path d = "M10 28l8-8 8-4 8-8" / >
< / svg >
< / div >
< h3 class = "lv-step-title" > Kontrollerad intelligens< / h3 >
< / div >
< div class = "lv-step-body" >
< p > AI analyserar mönster, men beslutet är ditt. Landvex presenterar konfidensgrad, konsekvens och rekommenderad åtgärd. < strong > Transparent, förklarlig, kontrollerad.< / strong > < / p >
< / div >
< div class = "lv-metrics" >
< div class = "lv-metric" >
< span class = "lv-metric-value" > 87< / span >
< span class = "lv-metric-label" > Stads Hälsa< / span >
< / div >
< div class = "lv-metric" >
< span class = "lv-metric-value" > 92< / span >
< span class = "lv-metric-label" > Kommersiell Potential< / span >
< / div >
< div class = "lv-metric" >
< span class = "lv-metric-value" > 18< / span >
< span class = "lv-metric-label" > Infrastrukturrisk< / span >
< / div >
< / div >
< / div >
< / div >
< div class = "lv-connection" >
< svg width = "20" height = "20" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2.5" >
< path d = "M12 5v14m-7-7l7 7 7-7" / >
< / svg >
< / div >
<!-- Step 5 -->
< div class = "lv-step" >
< div class = "lv-step-marker" > 5< / div >
< div class = "lv-step-content" >
< div class = "lv-step-header" >
< div class = "lv-step-icon" >
< svg viewBox = "0 0 48 48" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< circle cx = "24" cy = "24" r = "20" / >
< path d = "M24 14v10l6 6" / >
< path d = "M14 24h4" / >
< path d = "M30 24h4" / >
< path d = "M24 10v4" / >
< path d = "M24 34v4" / >
< / svg >
< / div >
< h3 class = "lv-step-title" > Handla och följ upp< / h3 >
< / div >
< div class = "lv-step-body" >
< p > Beslutet dokumenteras, åtgärder triggas och resultatet mäts över tid. Kontinuerlig feedback förbättrar nästa cykel. < strong > Lärande organisation.< / strong > < / p >
< / div >
< div class = "lv-dual-path" >
< div class = "lv-path-card" >
< h4 >
< svg width = "14" height = "14" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2.5" >
< path d = "M12 2L2 7l10 5 10-5-10-5z" / >
< / svg >
För beslutsfattare
< / h4 >
< p > Landvex Dashboard ger dig överblick, historik och prediktioner för proaktiva beslut.< / p >
< / div >
< div class = "lv-path-card" >
< h4 >
< svg width = "14" height = "14" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2.5" >
< circle cx = "12" cy = "12" r = "3" / >
< path d = "M12 2v4m0 12v4m10-10h-4M6 12H2" / >
< / svg >
För fältarbetare
< / h4 >
< p > quiXzoom-appen guidar dig till uppdrag, validerar insamling och betalar ut direkt.< / p >
< / div >
< / div >
< / div >
< / div >
< / div >
<!-- CTA -->
< div class = "lv-cta" >
< h3 > Börja med kontrollerad intelligens< / h3 >
< p > Oavsett om du behöver fältdata eller beslutsstöd — vi har lösningen.< / p >
< div class = "lv-cta-buttons" >
< a href = "https://landvex.com" class = "lv-cta-btn primary" > Utforska Landvex< / a >
< a href = "https://quixzoom.se" class = "lv-cta-btn secondary" > Bli Zoomer< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
<!-- === END INFOGRAPHIC === -->
2026-06-29 16:24:48 +00:00
< / body >
< / html >