Files
boc/landvex-site/product.html
T
Bernt 1a12fb870b dev-api: add developer portal, OpenAPI spec, and Flatenbadet case study
- New /developers/ page with API docs, SDKs, pricing, use cases
- OpenAPI 3.0 spec for Orders, Missions, Photos, Analytics
- Case study: Glasskiosken i Flatenbadet — complete ROI analysis
- Updated /order/ with recurring missions and frequency dropdown
2026-07-14 15:27:33 +00:00

847 lines
37 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en" data-theme="auto">
<head>
<meta charset="UTF-8">
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="color-scheme" content="light dark">
<title>LandveX — Right control. Right cost. Right interval.</title>
<meta name="description" content="Landvex delivers AI-powered control intelligence for infrastructure owners, enterprises and municipalities. Urban intelligence, city scores and...">
<link rel="stylesheet" >
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
font-family: var(--font-text);
background: var(--grouped-background-primary);
color: var(--label-primary);
min-height: 100svh;
-webkit-font-smoothing: antialiased;
}
/* NAV */
.nav-bar {
position: fixed; top: 0; left: 0; right: 0; z-index: 100;
background: rgba(0,31,77,0.92);
backdrop-filter: blur(20px) saturate(180%);
-webkit-backdrop-filter: blur(20px) saturate(180%);
border-bottom: 0.5px solid rgba(0,0,0,0.1);
padding-top: env(safe-area-inset-top, 0);
}
.nav-inner {
max-width: 1100px; margin: 0 auto;
display: flex; align-items: center; gap: 16px;
padding: 12px 24px; min-height: 52px;
}
.nav-logo {
font-size: 18px;
font-weight: 700;
letter-spacing: -0.3px;
color: #1d1d1f; letter-spacing: -0.4px;
text-decoration: none; flex-shrink: 0;
}
.nav-logo-mark {
width: 30px; height: 30px; border-radius: var(--radius-md);
background: linear-gradient(135deg, #007AFF, #0055CC);
display: flex; align-items: center; justify-content: center;
font-size: 15px; font-weight: 800; color: #1d1d1f;
}
.nav-links { display: flex; gap: 24px; margin: 0 auto; }
.nav-link { font-size: 14px; color: rgba(0,0,0,0.75); text-decoration: none; font-weight: 500; transition: color 0.15s; }
.nav-link:hover { color: #1d1d1f; }
.nav-cta {
background: #007AFF; color: #1d1d1f; font-size: 14px; font-weight: 600;
padding: 8px 18px; border-radius: var(--radius-md); text-decoration: none;
transition: background 0.15s; white-space: nowrap;
}
.nav-cta:hover { background: #0066DD; }
/* HERO */
.hero {
min-height: 100svh;
background: linear-gradient(160deg, #001433 0%, #001F4D 40%, #002966 70%, #003D99 100%);
display: flex; flex-direction: column; align-items: center; justify-content: center;
padding: calc(80px + env(safe-area-inset-top, 0)) 20px 80px;
text-align: center; position: relative; overflow: hidden;
}
.hero::before {
content: '';
position: absolute; inset: 0;
background:
radial-gradient(ellipse 80% 50% at 50% 0%, rgba(0,122,255,0.25) 0%, transparent 70%),
radial-gradient(ellipse 60% 60% at 20% 80%, rgba(0,85,204,0.15) 0%, transparent 60%);
}
.hero-eyebrow {
display: inline-flex; align-items: center; gap: 6px;
background: rgba(0,122,255,0.2); border: 0.5px solid rgba(0,122,255,0.4);
border-radius: var(--radius-xl); padding: 5px 14px;
font-size: 12px; font-weight: 600; color: #64B5F6;
letter-spacing: 0.04em; margin-bottom: 24px;
position: relative; z-index: 1;
}
.hero h1 {
font-family: var(--font-display);
font-size: clamp(36px, 6vw, 72px);
font-weight: 700; letter-spacing: -1.5px;
line-height: 1.05; color: #1d1d1f;
max-width: 800px; margin-bottom: 16px;
position: relative; z-index: 1;
}
.hero h1 em {
font-style: normal;
background: linear-gradient(135deg, #64B5F6, #007AFF);
-webkit-background-clip: text; -webkit-text-fill-color: transparent;
background-clip: text;
}
.hero-tagline {
font-size: clamp(17px, 2.5vw, 21px);
color: rgba(60,60,67,0.7); max-width: 560px;
line-height: 1.5; margin-bottom: 40px;
position: relative; z-index: 1;
}
.hero-ctas {
display: flex; gap: 12px; flex-wrap: wrap; justify-content: center;
position: relative; z-index: 1;
}
.btn-primary {
background: #007AFF; color: #1d1d1f;
font-size: 16px; font-weight: 600; padding: 14px 28px;
border-radius: var(--radius-lg); text-decoration: none; transition: all 0.2s;
box-shadow: 0 4px 20px rgba(0,122,255,0.4);
}
.btn-primary:hover { background: #0066DD; transform: translateY(-1px); box-shadow: 0 6px 24px rgba(0,122,255,0.5); }
.btn-secondary {
background: rgba(0,0,0,0.1); color: #1d1d1f;
font-size: 16px; font-weight: 600; padding: 14px 28px;
border-radius: var(--radius-lg); text-decoration: none;
border: 0.5px solid rgba(0,0,0,0.2);
backdrop-filter: blur(10px); transition: all 0.2s;
}
.btn-secondary:hover { background: rgba(0,0,0,0.15); }
.hero-metrics {
display: flex; gap: 48px; margin-top: 60px;
position: relative; z-index: 1;
}
.hero-metric { text-align: center; }
.hero-metric-num { font-size: 32px; font-weight: 700; color: #1d1d1f; letter-spacing: -0.5px; }
.hero-metric-label { font-size: 12px; color: rgba(60,60,67,0.5); margin-top: 4px; text-transform: uppercase; letter-spacing: 0.06em; }
/* SECTIONS */
.section { padding: 80px 20px; }
.section-inner { max-width: 1100px; margin: 0 auto; }
.section-alt { background: var(--grouped-background-secondary); }
/* SECTION LABEL */
.s-eyebrow {
font-size: 12px; font-weight: 700; letter-spacing: 0.08em;
text-transform: uppercase; color: var(--ios-blue);
margin-bottom: 10px;
}
.s-title {
font-family: var(--font-display);
font-size: clamp(28px, 4vw, 44px);
font-weight: 700; letter-spacing: -0.8px; line-height: 1.1;
margin-bottom: 16px;
}
.s-body { font-size: 17px; color: var(--label-secondary); line-height: 1.7; max-width: 600px; }
/* PROBLEM SECTION */
.problem-grid {
display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 16px; margin-top: 40px;
}
.problem-card {
background: var(--grouped-background-secondary);
border-radius: var(--radius-lg); padding: 24px;
border: 0.5px solid var(--separator);
}
.problem-card .icon { font-size: 28px; margin-bottom: 14px; }
.problem-card h3 { font-size: 17px; font-weight: 600; margin-bottom: 8px; letter-spacing: -0.3px; }
.problem-card p { font-size: 14px; color: var(--label-secondary); line-height: 1.6; }
/* HOW IT WORKS */
.how-steps {
display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 0; margin-top: 48px; position: relative;
}
.how-step {
padding: 28px 24px; position: relative; text-align: center;
}
.step-num {
width: 44px; height: 44px; border-radius: var(--radius-full);
background: linear-gradient(135deg, #007AFF, #0055CC);
display: flex; align-items: center; justify-content: center;
font-size: 18px; font-weight: 700; color: #1d1d1f;
margin: 0 auto 16px;
box-shadow: 0 4px 16px rgba(0,122,255,0.3);
}
.how-step h3 { font-size: 16px; font-weight: 600; margin-bottom: 8px; letter-spacing: -0.2px; }
.how-step p { font-size: 14px; color: var(--label-secondary); line-height: 1.6; }
.how-connector {
position: absolute; top: 50px; right: -20px;
font-size: 20px; color: var(--label-quaternary);
z-index: 1; display: none;
}
/* FOR WHOM */
.for-grid {
display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 12px; margin-top: 36px;
}
.for-card {
background: var(--grouped-background-secondary);
border: 0.5px solid var(--separator); border-radius: var(--radius-lg);
padding: 20px 18px;
display: flex; align-items: flex-start; gap: 12px;
}
.for-icon { font-size: 26px; flex-shrink: 0; margin-top: 2px; }
.for-card h3 { font-size: 15px; font-weight: 600; margin-bottom: 5px; }
.for-card p { font-size: 13px; color: var(--label-secondary); line-height: 1.5; }
/* CASE STUDIES */
.case-grid {
display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 16px; margin-top: 40px;
}
.case-card {
background: var(--grouped-background-secondary);
border-radius: var(--radius-lg); overflow: hidden;
border: 0.5px solid var(--separator);
}
.case-card-header {
padding: 24px 24px 0;
display: flex; align-items: flex-start; gap: 12px;
}
.case-logo {
width: 44px; height: 44px; border-radius: var(--radius-md);
display: flex; align-items: center; justify-content: center;
font-size: 22px; flex-shrink: 0;
}
.case-org { font-size: 12px; color: var(--label-secondary); font-weight: 500; }
.case-name { font-size: 16px; font-weight: 600; letter-spacing: -0.2px; }
.case-body { padding: 14px 24px; }
.case-body p { font-size: 14px; color: var(--label-secondary); line-height: 1.6; margin-bottom: 16px; }
.case-results { display: flex; gap: 20px; }
.case-result { text-align: center; }
.case-result-num { font-size: 22px; font-weight: 700; color: var(--ios-blue); letter-spacing: -0.4px; }
.case-result-label { font-size: 11px; color: var(--label-secondary); margin-top: 2px; }
.case-card-footer {
padding: 14px 24px 20px;
border-top: 0.5px solid var(--separator);
}
.case-tag {
display: inline-block; font-size: 11px; font-weight: 600;
padding: 3px 10px; border-radius: var(--radius-xl);
background: rgba(0,122,255,0.1); color: var(--ios-blue);
margin-right: 6px; margin-bottom: 4px;
}
/* PRICING */
.pricing-grid {
display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 16px; margin-top: 40px; max-width: 900px;
}
.pricing-card {
background: var(--grouped-background-secondary);
border: 0.5px solid var(--separator); border-radius: var(--radius-xl);
padding: 28px 24px;
}
.pricing-card.featured {
border-color: var(--ios-blue);
background: linear-gradient(135deg, rgba(0,122,255,0.06), rgba(0,85,204,0.04));
box-shadow: 0 4px 24px rgba(0,122,255,0.12);
}
.pricing-badge {
display: inline-block; font-size: 11px; font-weight: 700;
padding: 3px 10px; border-radius: var(--radius-xl);
background: var(--ios-blue); color: #1d1d1f;
margin-bottom: 16px; letter-spacing: 0.04em;
}
.pricing-name { font-size: 20px; font-weight: 700; margin-bottom: 6px; letter-spacing: -0.3px; }
.pricing-price {
font-size: 34px; font-weight: 700; letter-spacing: -0.5px;
color: var(--ios-blue); margin-bottom: 6px;
}
.pricing-period { font-size: 13px; color: var(--label-secondary); margin-bottom: 20px; }
.pricing-features { list-style: none; margin-bottom: 24px; }
.pricing-features li {
font-size: 14px; color: var(--label-secondary);
padding: 7px 0; border-bottom: 0.5px solid var(--separator);
display: flex; align-items: center; gap: 8px;
}
.pricing-features li:last-child { border-bottom: none; }
.pricing-features li::before { content: '<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M3 8L6.5 11.5L13 4.5" stroke="#22c55e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'; color: var(--ios-green); font-weight: 700; flex-shrink: 0; }
.pricing-btn {
display: block; text-align: center;
background: var(--ios-blue); color: #1d1d1f;
font-size: 15px; font-weight: 600; padding: 12px;
border-radius: var(--radius-md); text-decoration: none; transition: background 0.15s;
}
.pricing-btn:hover { background: #0066DD; }
.pricing-btn.secondary {
background: var(--fill-secondary); color: var(--label-primary);
}
/* CTA SECTION */
.cta-section {
background: linear-gradient(135deg, #001F4D 0%, #0055CC 100%);
padding: 80px 20px;
text-align: center;
}
.cta-section h2 {
font-family: var(--font-display);
font-size: clamp(28px, 4vw, 44px);
font-weight: 700; letter-spacing: -0.8px; color: #1d1d1f;
margin-bottom: 14px;
}
.cta-section p { font-size: 17px; color: rgba(60,60,67,0.7); margin-bottom: 32px; }
/* FOOTER */
footer {
background: var(--grouped-background-secondary);
border-top: 0.5px solid var(--separator);
padding: 32px 24px; text-align: center;
}
footer p { font-size: 13px; color: var(--label-secondary); }
@media (max-width: 600px) {
.nav-links { display: none; }
.hero-metrics { gap: 24px; flex-wrap: wrap; justify-content: center; }
.how-steps { grid-template-columns: 1fr; }
.pricing-grid { grid-template-columns: 1fr; }
}
</style>
<style id="wcag-contrast-enforcement">
/* AAMOS GLOBAL CONTRAST ENFORCEMENT — WCAG AA (4.5:1 minimum) */
/* Regel: Ingen text under 70% opacity. Aldrig. */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
/* Fix common low-contrast patterns */
[style*="rgba(60,60,67,0.4)"] { color: rgba(60,60,67,0.65) !important; }
[style*="rgba(60,60,67,0.3)"] { color: rgba(60,60,67,0.65) !important; }
[style*="rgba(0,0,0,0.4)"] { color: rgba(0,0,0,0.72) !important; }
[style*="rgba(0,0,0,0.3)"] { color: rgba(0,0,0,0.72) !important; }
[style*="opacity: 0.4"] { opacity: 0.72 !important; }
[style*="opacity: 0.3"] { opacity: 0.72 !important; }
</style>
<style>
@media (max-width: 640px) {
.hero h1 { font-size: 2rem !important; }
.hero p { font-size: 1rem !important; }
.card { padding: 1.5rem !important; }
.grid { grid-template-columns: 1fr !important; }
.btn { padding: 0.75rem 1.5rem !important; font-size: 1rem !important; }
}
</style>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": [
"Organization",
"Corporation"
],
"@id": "https://landvex.com/#organization",
"name": "Landvex",
"alternateName": [
"LandveX",
"Landvex AB",
"LandveX AB"
],
"url": "https://landvex.com",
"logo": {
"@type": "ImageObject",
"url": "https://landvex.com/apple-touch-icon.png",
"width": 180,
"height": 180
},
"foundingDate": "2024",
"foundingLocation": {
"@type": "Place",
"addressLocality": "Stockholm",
"addressRegion": "Stockholm",
"addressCountry": "SE"
},
"legalName": "Landvex Inc",
"address": {
"@type": "PostalAddress",
"addressLocality": "Houston",
"addressRegion": "TX",
"addressCountry": "US"
},
"location": [
{
"@type": "Place",
"name": "Houston, Texas, USA (US HQ)",
"address": {
"@type": "PostalAddress",
"addressLocality": "Houston",
"addressRegion": "TX",
"addressCountry": "US"
}
},
{
"@type": "Place",
"name": "Stockholm, Sweden (EU HQ)",
"address": {
"@type": "PostalAddress",
"addressLocality": "Stockholm",
"addressRegion": "Stockholm",
"addressCountry": "SE"
}
}
],
"taxID": "pending-EIN",
"description": "Landvex is a decision intelligence company that identifies contradictions between official narratives and observed physical reality. Using the quiXzoom field observation network and the AMOS AI analysis engine, Landvex delivers infrastructure risk indexes, urban intelligence scores, and contradiction reports to infrastructure owners, municipalities, enterprises, and investors globally.",
"disambiguatingDescription": "Landvex (LandveX) is a decision intelligence company with US headquarters in Houston, Texas (Landvex Inc.) and European headquarters in Stockholm, Sweden (Landvex AB, org.nr 559141-7042). Landvex delivers control intelligence — infrastructure risk scores, urban intelligence, and contradiction analysis — to municipalities, enterprises, infrastructure operators and investors. Landvex is not a UK meat wholesaler, food distributor, logistics company, package tracker, or land investment platform.",
"knowsAbout": [
"control intelligence",
"decision intelligence",
"infrastructure risk assessment",
"urban intelligence",
"field data collection",
"contradiction detection",
"physical world analytics",
"geospatial analytics"
],
"brand": {
"@type": "Brand",
"name": "Landvex",
"slogan": "Control intelligence for the physical world."
},
"sameAs": [
"https://landvex.com",
"https://www.linkedin.com/company/landvex",
"https://x.com/landvex",
"https://twitter.com/landvex",
"https://www.crunchbase.com/organization/landvex",
"https://github.com/landvex",
"https://www.instagram.com/landvex"
],
"contactPoint": {
"@type": "ContactPoint",
"email": "contact@landvex.com",
"contactType": "sales"
},
"slogan": "Where reported reality conflicts with observed reality."
}
</script>
</head>
<body>
<!-- NAV -->
<nav class="nav-bar">
<div class="nav-inner">
<a class="nav-logo" href="/landvex/index.html">
<div class="nav-logo-mark">L</div>
LandveX
</a>
<div class="nav-links">
<a class="nav-link" href="#problem">Problem</a>
<a class="nav-link" href="#solution">Solution</a>
<a class="nav-link" href="#for-whom">For Whom</a>
<a class="nav-link" href="#cases">Case Studies</a>
<a class="nav-link" href="#pricing">Pricing</a>
</div>
<a class="nav-cta" href="#demo">Request Demo</a>
</div>
</nav>
<!-- HERO -->
<section class="hero">
<div class="hero-eyebrow"> quiXzoom + LandveX Platform</div>
<h1>Right control.<br><em>Right cost.</em><br>Right interval.</h1>
<p class="hero-tagline">Infrastructure owners are overpaying for blanket inspection contracts and making decisions from outdated data. LandveX changes that.</p>
<div class="hero-ctas">
<a class="btn-primary" href="#demo">Request Demo</a>
<a class="btn-secondary" href="#solution">See How It Works</a>
</div>
<div class="hero-metrics">
<div class="hero-metric">
<div class="hero-metric-num">62%</div>
<div class="hero-metric-label">Cost Reduction</div>
</div>
<div class="hero-metric">
<div class="hero-metric-num">4×</div>
<div class="hero-metric-label">More Inspections</div>
</div>
<div class="hero-metric">
<div class="hero-metric-num">48h</div>
<div class="hero-metric-label">Delivery Time</div>
</div>
</div>
</section>
<!-- PROBLEM -->
<section class="section" id="problem">
<div class="section-inner">
<div class="s-eyebrow">The Problem</div>
<h2 class="s-title">Infrastructure owners are flying blind</h2>
<p class="s-body">Traditional inspection contracts are designed around contractor schedules, not asset risk. The result: expensive blanket inspections, long turnaround times, and decisions made on data that's 1236 months old.</p>
<div class="problem-grid">
<div class="problem-card">
<div class="icon"></div>
<h3>Overpriced blanket contracts</h3>
<p>Traditional consulting firms charge for scheduled visits regardless of actual risk. You pay the same whether the asset is fine or failing.</p>
</div>
<div class="problem-card">
<div class="icon"></div>
<h3>Annual cycle doesn't match reality</h3>
<p>Critical infrastructure changes faster than annual inspection cycles. A bridge deck can deteriorate significantly between visits — and you won't know until it's too late.</p>
</div>
<div class="problem-card">
<div class="icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#0066FF" stroke-width="2"><path d="M18 20V10"/><path d="M12 20V4"/><path d="M6 20v-6"/></svg></div>
<h3>Decisions from stale data</h3>
<p>Maintenance budgets are allocated based on last year's report. Risk-based prioritization is impossible without current, objective assessment data.</p>
</div>
<div class="problem-card">
<div class="icon"></div>
<h3>No spatial intelligence</h3>
<p>Traditional inspection reports are PDFs. There's no system connecting asset condition, geospatial context, and maintenance history into actionable intelligence.</p>
</div>
</div>
</div>
</section>
<!-- SOLUTION -->
<section class="section section-alt" id="solution">
<div class="section-inner">
<div class="s-eyebrow">The Solution</div>
<h2 class="s-title">Precision inspection intelligence at infrastructure scale</h2>
<p class="s-body">LandveX combines quiXzoom drone operators with AAMOS AI analysis to deliver inspection-grade reports at a fraction of the traditional cost — on your schedule, not a contractor's.</p>
<div class="how-steps">
<div class="how-step">
<div class="step-num">1</div>
<h3>You define the assets</h3>
<p>Upload your asset inventory via the LandveX portal or API. Define inspection priorities, risk categories, and frequency requirements.</p>
</div>
<div class="how-step">
<div class="step-num">2</div>
<h3>quiXzoom dispatches</h3>
<p>A certified quiXzoom zoomer is assigned and deployed within 2472 hours. Drone-captured imagery meets inspection-grade resolution standards.</p>
</div>
<div class="how-step">
<div class="step-num">3</div>
<h3>AI analyzes</h3>
<p>AAMOS AI processes all imagery against your asset baseline, detecting defects, measuring deterioration rates, and flagging anomalies automatically.</p>
</div>
<div class="how-step">
<div class="step-num">4</div>
<h3>LandveX reports</h3>
<p>You receive a structured inspection report within 48 hours — with condition scores, maintenance recommendations, and risk-ranked prioritization.</p>
</div>
</div>
</div>
</section>
<!-- FOR WHOM -->
<section class="section" id="for-whom">
<div class="section-inner">
<div class="s-eyebrow">For Whom</div>
<h2 class="s-title">Built for those responsible for infrastructure</h2>
<p class="s-body">LandveX serves any organization that owns, operates, or is responsible for physical infrastructure at scale.</p>
<div class="for-grid">
<div class="for-card">
<div class="for-icon"></div>
<div>
<h3>Municipalities</h3>
<p>Roads, bridges, parks, public buildings, and drainage networks. Serve residents with evidence-based maintenance — within budget.</p>
</div>
</div>
<div class="for-card">
<div class="for-icon"></div>
<div>
<h3>Trafikverket</h3>
<p>National road and rail network inspection at scale. Replace manual bridge surveys with drone-powered AI assessment across the entire network.</p>
</div>
</div>
<div class="for-card">
<div class="for-icon"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M2 14H14M4 14V8L8 4L12 8V14" stroke="#666" stroke-width="1.5" stroke-linejoin="round"/><path d="M6 14V10H10V14" stroke="#666" stroke-width="1.5"/></svg></div>
<div>
<h3>Property Owners</h3>
<p>Commercial real estate, industrial complexes, and facility managers who need objective condition data to plan capex and comply with regulatory requirements.</p>
</div>
</div>
<div class="for-card">
<div class="for-icon"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M9 2L5 9H8L7 14L11 7H8L9 2Z" fill="#f59e0b"/></svg></div>
<div>
<h3>Energy Infrastructure</h3>
<p>Power lines, substations, wind farms, and solar installations. Scheduled and condition-triggered inspections without shutdowns or scaffolding.</p>
</div>
</div>
<div class="for-card">
<div class="for-icon"></div>
<div>
<h3>Water Utilities</h3>
<p>Dams, pipelines, reservoirs, and treatment facilities. AI-detected anomalies before they become emergency repairs or service failures.</p>
</div>
</div>
<div class="for-card">
<div class="for-icon"></div>
<div>
<h3>Region & County</h3>
<p>Regional infrastructure authorities managing multi-municipality assets. Centralized oversight with per-asset granularity.</p>
</div>
</div>
</div>
</div>
</section>
<!-- CASE STUDIES -->
<section class="section section-alt" id="cases">
<div class="section-inner">
<div class="s-eyebrow">Case Studies</div>
<h2 class="s-title">Real infrastructure. Proven results.</h2>
<div class="case-grid">
<div class="case-card">
<div class="case-card-header">
<div class="case-logo" style="background:rgba(0,122,255,0.1)"></div>
<div>
<div class="case-org">Municipality of Gothenburg</div>
<div class="case-name">Bridge Network Assessment 2025</div>
</div>
</div>
<div class="case-body">
<p>Gothenburg's technical services department needed to assess 47 bridges in the central network before the 20252026 winter maintenance season. Traditional methods would require 14 weeks and a budget of 3.2M SEK. LandveX completed all 47 inspections in 11 days.</p>
<div class="case-results">
<div class="case-result">
<div class="case-result-num">11 days</div>
<div class="case-result-label">Full network</div>
</div>
<div class="case-result">
<div class="case-result-num">-58%</div>
<div class="case-result-label">Cost vs. contract</div>
</div>
<div class="case-result">
<div class="case-result-num">3</div>
<div class="case-result-label">Critical finds</div>
</div>
</div>
</div>
<div class="case-card-footer">
<span class="case-tag">Bridges</span>
<span class="case-tag">Municipal</span>
<span class="case-tag">Risk-based prioritization</span>
</div>
</div>
<div class="case-card">
<div class="case-card-header">
<div class="case-logo" style="background:rgba(255,149,0,0.1)"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M9 2L5 9H8L7 14L11 7H8L9 2Z" fill="#f59e0b"/></svg></div>
<div>
<div class="case-org">Vattenfall Eldistribution AB</div>
<div class="case-name">High-Voltage Line Survey — Norrland</div>
</div>
</div>
<div class="case-body">
<p>450 km of 130 kV transmission lines in northern Sweden required annual inspection before winter. Previous helicopter surveys cost 1.8M SEK and took 3 weeks. Remote terrain made ground-based access impractical for 40% of the route. LandveX deployed 6 quiXzoom operators over 8 days.</p>
<div class="case-results">
<div class="case-result">
<div class="case-result-num">450 km</div>
<div class="case-result-label">Covered</div>
</div>
<div class="case-result">
<div class="case-result-num">-71%</div>
<div class="case-result-label">vs. helicopter</div>
</div>
<div class="case-result">
<div class="case-result-num">8 days</div>
<div class="case-result-label">Completed</div>
</div>
</div>
</div>
<div class="case-card-footer">
<span class="case-tag">Energy</span>
<span class="case-tag">Remote Access</span>
<span class="case-tag">High-Voltage</span>
</div>
</div>
</div>
</div>
</section>
<!-- PRICING -->
<section class="section" id="pricing">
<div class="section-inner">
<div class="s-eyebrow">Pricing</div>
<h2 class="s-title">Pay for what you actually need</h2>
<p class="s-body">No retainer contracts. No annual minimum. Per-inspection pricing with volume tiers for high-frequency programs.</p>
<div class="pricing-grid">
<div class="pricing-card">
<div class="pricing-name">Per Inspection</div>
<div class="pricing-price">4,900 SEK</div>
<div class="pricing-period">per asset inspection</div>
<ul class="pricing-features">
<li>Drone imagery + AI analysis</li>
<li>Condition score &amp; defect map</li>
<li>PDF + structured data report</li>
<li>48h delivery</li>
<li>1 revision included</li>
</ul>
<a class="pricing-btn secondary" href="#demo">Get Started</a>
</div>
<div class="pricing-card featured">
<div class="pricing-badge">MOST POPULAR</div>
<div class="pricing-name">Volume Program</div>
<div class="pricing-price">2,900 SEK</div>
<div class="pricing-period">per inspection · 50+ assets/year</div>
<ul class="pricing-features">
<li>Everything in Per Inspection</li>
<li>Priority dispatch (&lt;24h)</li>
<li>API access + webhook reports</li>
<li>Portfolio dashboard</li>
<li>Risk-ranked maintenance queue</li>
<li>Dedicated customer success</li>
</ul>
<a class="pricing-btn" href="#demo">Request Proposal</a>
</div>
<div class="pricing-card">
<div class="pricing-name">Enterprise</div>
<div class="pricing-price">Custom</div>
<div class="pricing-period">white-label or API integration</div>
<ul class="pricing-features">
<li>Everything in Volume</li>
<li>Custom AI model training</li>
<li>GIS/BIM system integration</li>
<li>SLA with guaranteed dispatch</li>
<li>On-premise deployment option</li>
<li>Regulatory compliance package</li>
</ul>
<a class="pricing-btn secondary" href="mailto:enterprise@wavult.com">Contact Sales</a>
</div>
</div>
</div>
</section>
<!-- CTA -->
<section class="cta-section" id="demo">
<h2>Ready to take control of your infrastructure?</h2>
<p>Talk to our team and get a pilot inspection proposal within 24 hours.</p>
<div class="hero-ctas">
<a class="btn-primary" href="mailto:demo@landvex.se?subject=LandveX Demo Request">Book a Demo</a>
<a class="btn-secondary" href="/landvex/index.html">Explore Platform</a>
</div>
</section>
<!-- FOOTER -->
<footer>
<div class="footer-container" style="max-width:1200px;margin:0 auto;padding:48px 24px 32px;">
<!-- Main Footer Grid -->
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:48px;">
<!-- Column 1: Products -->
<div>
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Produkter</h4>
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
<li><a href="/infrastructure-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">VIMS</a></li>
<li><a href="/intelligence/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence</a></li>
<li><a href="/reality-alerts/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Reality Alerts</a></li>
<li><a href="/enterprise/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Enterprise</a></li>
<li><a href="/pilot/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Pilotprogram</a></li>
</ul>
</div>
<!-- Column 2: Solutions -->
<div>
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Lösningar</h4>
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
<li><a href="/verticals/bridge-inspection/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Broinspektion</a></li>
<li><a href="/verticals/road-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Vägövervakning</a></li>
<li><a href="/verticals/infrastructure/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Infrastruktur</a></li>
<li><a href="/verticals/utilities/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Utilities</a></li>
<li><a href="/use-cases/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Användningsfall</a></li>
</ul>
</div>
<!-- Column 3: Resources -->
<div>
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Resurser</h4>
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
<li><a href="/blog/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence Insights</a></li>
<li><a href="/guides/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Guider</a></li>
<li><a href="/developers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Developer API</a></li>
<li><a href="/status/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Systemstatus</a></li>
<li><a href="/reports/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Rapporter</a></li>
</ul>
</div>
<!-- Column 4: Company -->
<div>
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Företag</h4>
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
<li><a href="/about/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Om oss</a></li>
<li><a href="/careers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Karriär</a></li>
<li><a href="/press/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Press</a></li>
<li><a href="/contact/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Kontakt</a></li>
<li><a href="https://www.quixzoom.com" target="_blank" rel="noopener" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">quiXzoom →</a></li>
</ul>
</div>
</div>
<!-- Divider -->
<div style="border-top:1px solid #E5E5E5;padding-top:32px;">
<!-- Legal & Compliance Row -->
<div style="display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;margin-bottom:24px;">
<div style="display:flex;flex-wrap:wrap;gap:16px 24px;">
<a href="/privacy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Privacy</a>
<a href="/terms/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Terms</a>
<a href="/cookie-policy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Cookies</a>
<a href="/compliance/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Compliance</a>
<a href="/trust/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Trust Centre</a>
<a href="/dpa/" style="font-size:12px;color:#6E6E73;text-decoration:none;">DPA</a>
<a href="/sla/" style="font-size:12px;color:#6E6E73;text-decoration:none;">SLA</a>
<a href="/security/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Security</a>
<a href="/accessibility/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Accessibility</a>
<a href="/responsible-disclosure/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Responsible Disclosure</a>
</div>
<div style="display:flex;gap:16px;">
<a href="https://www.linkedin.com/company/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="LinkedIn">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg>
</a>
<a href="https://x.com/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="X">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.912-5.622Zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
</a>
</div>
</div>
<!-- Company Info Row -->
<div style="display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;">
<div>
<div style="font-size:12px;color:#86868B;line-height:1.6;">
<strong style="color:#0A0A0A;">Landvex Inc.</strong> · Houston, Texas · USA<br>
<strong style="color:#0A0A0A;">Landvex AB</strong> · Org.nr 559141-7042 · Stockholm, Sweden · EU<br>
<a href="mailto:contact@landvex.com" style="color:#86868B;text-decoration:none;">contact@landvex.com</a> ·
<a href="mailto:security@landvex.com" style="color:#86868B;text-decoration:none;">security@landvex.com</a>
</div>
<div style="font-size:11px;color:#86868B;margin-top:8px;line-height:1.5;">
Field data powered by <a href="https://www.quixzoom.com" style="color:#86868B;text-decoration:underline;">quiXzoom</a> ·
<a href="/data-lineage/" style="color:#86868B;text-decoration:underline;">Data Lineage</a> ·
<a href="/subprocessors/" style="color:#86868B;text-decoration:underline;">Sub-processors</a> ·
<a href="/methodology/" style="color:#86868B;text-decoration:underline;">Methodology</a>
</div>
</div>
<div style="font-size:12px;color:#86868B;">
© 2026 Landvex Inc / Landvex AB. All rights reserved.
</div>
</div>
</div>
</div>
</footer>
</body>
</html>