Files
boc/landvex-site/index.html
T

2479 lines
149 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Landvex — Decision Intelligence for the Physical World</title>
<meta name="description" content="Landvex delivers control intelligence for infrastructure owners, enterprises and governments. Decision intelligence for the physical world.">
<link rel="canonical" href="https://landvex.com/">
<link rel="alternate" hreflang="x-default" href="https://landvex.com/">
<link rel="alternate" hreflang="en" href="https://landvex.com/">
<link rel="alternate" hreflang="sv" href="https://landvex.se/">
<link rel="alternate" hreflang="de" href="https://landvex.de/">
<link rel="alternate" hreflang="fr" href="https://landvex.fr/">
<link rel="alternate" hreflang="en-GB" href="https://landvex.co.uk/">
<link rel="alternate" hreflang="it" href="https://landvex.it/">
<!-- Open Graph -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://landvex.com/">
<meta property="og:title" content="Landvex — Decision Intelligence for the Physical World">
<meta property="og:description" content="Landvex is a Swedish-headquartered control intelligence company (Landvex AB, Tyresö) with global operations. We deliver control intelligence for infrastructure owners, enterprises and governments globally.">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image" content="https://landvex.com/og-image.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Landvex — Decision Intelligence for the Physical World">
<meta name="twitter:description" content="Landvex is a decision intelligence platform that transforms field observations into infrastructure intelligence, urban intelligence and commercial intelligence. Not related to LandEx or land investment platforms.">
<meta name="twitter:image" content="https://landvex.com/og-image.jpg">
<!-- Favicons -->
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
<!-- Structured Data -->
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--bg-dark: #f5f5f7;
--blue: #0066FF;
--blue-dark: #0052CC;
--blue-glow: rgba(0, 102, 255, 0.10);
--text-dark: #1d1d1f;
--text-body: #3a3a3a;
--text-muted: #6e6e73;
--text-light: #1d1d1f;
--text-dim: #515154;
--surface: #ffffff;
--surface-2: #f5f5f7;
--border: rgba(0,0,0,0.09);
--radius-sm: 8px;
--radius-md: 14px;
--radius-lg: 24px;
}
html { scroll-behavior: smooth; }
body { background: #FFFFFF;
font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Helvetica Neue', sans-serif;
background: #FFFFFF;
color: #0A0A0A;
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
/* NAV */
nav {
position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
display: flex; align-items: center; justify-content: space-between;
padding: 0 40px;
height: 64px;
background: rgba(255,255,255,0.95);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border-bottom: 1px solid rgba(0,0,0,0.08);
}
.nav-logo { color: #0A0A0A;
font-size: 18px;
font-weight: 700;
letter-spacing: -0.3px;
color: #0A0A0A;
}
.nav-links {
display: flex; gap: 32px; list-style: none;
}
.nav-links a { color: #4A4A4A;
font-size: 14px;
color: #4A4A4A;
transition: color 0.2s;
}
.nav-links a:hover { color: #0A0A0A; }
/* Dropdown */
.nav-dropdown {
position: relative;
}
.nav-dropdown > a {
display: flex; align-items: center; gap: 4px; cursor: pointer;
}
.nav-dropdown > a::after {
content: '';
display: inline-block;
width: 0; height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 4px solid currentColor;
opacity: 0.55;
margin-top: 1px;
transition: transform 0.2s;
}
.nav-dropdown:hover > a::after,
.nav-dropdown:focus-within > a::after { transform: rotate(180deg); }
.nav-dropdown-menu {
display: none;
position: absolute; top: 100%; left: 50%;
transform: translateX(-50%);
background: rgba(255,255,255,0.98);
border: 1px solid var(--border);
border-radius: var(--radius-md);
padding: 8px 0;
min-width: 220px;
max-height: calc(100vh - 80px);
overflow-y: auto;
box-shadow: 0 16px 40px rgba(0,0,0,0.12);
z-index: 9999;
backdrop-filter: blur(12px);
}
/* Bridge gap so hover doesn't break when moving from link to menu */
.nav-dropdown-menu::before {
content: '';
position: absolute;
top: -12px; left: 0; right: 0;
height: 12px;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu { display: block; }
.nav-dropdown-menu a {
display: flex; align-items: center; gap: 10px;
padding: 10px 18px;
font-size: 14px; color: #4A4A4A;
transition: color 0.15s, background 0.15s;
white-space: nowrap;
}
.nav-dropdown-menu a:hover { color: #0A0A0A; background: rgba(0,0,0,0.03); }
.nav-dropdown-menu .dd-label {
font-size: 10px; font-weight: 700; letter-spacing: 0.1em;
text-transform: uppercase; color: rgba(0,0,0,0.75);
padding: 8px 18px 4px; cursor: default;
}
.nav-dropdown-menu hr { border: none; border-top: 1px solid var(--border); margin: 6px 0; }
.btn { color: #FFFFFF;
display: inline-flex; align-items: center; gap: 6px;
padding: 10px 22px;
background: var(--blue);
color: #0A0A0A;
font-size: 14px;
font-weight: 600;
border-radius: var(--radius-md);
border: none;
cursor: pointer;
transition: background 0.2s, transform 0.15s;
}
.btn:hover { background: var(--blue-dark); transform: translateY(-1px); }
.btn-outline { color: #0A0A0A; border-color: rgba(0,0,0,0.15);
background: transparent;
border: 1.5px solid rgba(0,0,0,0.18);
color: #0A0A0A;
}
.btn-outline:hover { background: rgba(0,0,0,0.04); transform: translateY(-1px); }
.btn-lg { padding: 14px 30px; font-size: 16px; border-radius: var(--radius-md); }
/* HERO */
.hero {
min-height: 100vh;
display: flex; flex-direction: column; align-items: center; justify-content: center;
text-align: center;
padding: 120px 24px 80px;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: -200px; left: 50%; transform: translateX(-50%);
width: 900px; height: 600px;
background: radial-gradient(ellipse at center, rgba(0,102,255,0.12) 0%, transparent 70%);
pointer-events: none;
}
.hero-eyebrow { background: rgba(0,102,255,0.08); border: 1px solid rgba(0,102,255,0.2); color: #0066FF;
display: inline-flex; align-items: center; gap: 8px;
background: rgba(0,102,255,0.1);
border: 1px solid rgba(0,102,255,0.25);
color: #5599ff;
font-size: 12px;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 6px 16px;
border-radius: 100px;
margin-bottom: 28px;
}
.hero h1 { color: #0A0A0A;
font-size: clamp(44px, 7vw, 80px);
font-weight: 800;
letter-spacing: -2px;
line-height: 1.05;
color: #0A0A0A;
max-width: 820px;
margin-bottom: 24px;
}
.hero-sub { color: #4A4A4A;
font-size: clamp(16px, 2vw, 20px);
color: #4A4A4A;
max-width: 640px;
line-height: 1.65;
margin-bottom: 40px;
}
.hero-ctas {
display: flex; gap: 14px; flex-wrap: wrap; justify-content: center;
}
.hero-powered {
margin-top: 56px;
font-size: 13px;
color: #6E6E73;
display: flex; align-items: center; gap: 8px;
}
.hero-powered span { color: #5599ff; font-weight: 600; }
.hero-stats {
display: flex; gap: 48px; margin-top: 72px; justify-content: center; flex-wrap: wrap;
}
.stat { text-align: center; }
.stat-val {
font-size: 32px; font-weight: 800;
background: linear-gradient(135deg, #fff 60%, #5599ff);
-webkit-background-clip: text; -webkit-text-fill-color: transparent;
letter-spacing: -1px;
}
.stat-label { font-size: 13px; color: #6E6E73; margin-top: 4px; }
/* SECTION COMMON */
section { padding: 96px 24px; }
.container { max-width: 1140px; margin: 0 auto; }
.section-label {
font-size: 12px; font-weight: 700; letter-spacing: 0.1em;
text-transform: uppercase; color: var(--blue);
margin-bottom: 16px;
}
.section-title { color: #0A0A0A;
font-size: clamp(28px, 4vw, 44px);
font-weight: 800;
letter-spacing: -1.2px;
line-height: 1.1;
color: #0A0A0A;
margin-bottom: 16px;
}
.section-sub { color: #4A4A4A;
font-size: 17px;
color: #4A4A4A;
max-width: 560px;
line-height: 1.7;
}
/* DELIVER */
.deliver-bg { background: var(--surface); }
.deliver-header {
display: flex; flex-direction: column; align-items: center;
text-align: center; margin-bottom: 60px;
}
.deliver-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.deliver-card {
background: var(--surface-2);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 36px 32px;
transition: border-color 0.25s, transform 0.2s;
}
.deliver-card:hover {
border-color: rgba(0,102,255,0.35);
transform: translateY(-3px);
box-shadow: 0 8px 24px rgba(0,0,0,0.10);
}
.deliver-icon {
width: 44px; height: 44px;
background: var(--blue-glow);
border: 1px solid rgba(0,102,255,0.25);
border-radius: var(--radius-md);
display: flex; align-items: center; justify-content: center;
font-size: 20px;
margin-bottom: 24px;
}
.deliver-card h3 { color: #0A0A0A;
font-size: 18px; font-weight: 700;
color: #0A0A0A; margin-bottom: 10px;
letter-spacing: -0.3px;
}
.deliver-card .number {
font-size: 32px; font-weight: 800;
color: var(--blue); letter-spacing: -1px;
margin-bottom: 8px;
}
.deliver-card p { color: #4A4A4A; font-size: 15px; color: #4A4A4A; line-height: 1.6; }
/* VERTICALS */
.verticals-header {
text-align: center;
margin-bottom: 60px;
}
.verticals-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}
.vertical-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 32px 28px;
display: flex; align-items: flex-start; gap: 18px;
transition: border-color 0.25s, background 0.2s;
}
.vertical-card:hover {
border-color: rgba(0,102,255,0.3);
background: var(--surface-2);
}
.vertical-icon {
font-size: 24px;
flex-shrink: 0;
width: 44px; height: 44px;
display: flex; align-items: center; justify-content: center;
background: #FFFFFF;
border-radius: var(--radius-md);
}
.vertical-card h3 { color: #0A0A0A; font-size: 16px; font-weight: 700; color: #0A0A0A; margin-bottom: 6px; }
.vertical-card p { color: #4A4A4A; font-size: 14px; color: #4A4A4A; line-height: 1.5; }
/* HOW IT WORKS */
.how-bg { background: var(--surface); }
.how-header { text-align: center; margin-bottom: 64px; }
.how-steps {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
position: relative;
max-width: 1000px;
margin: 0 auto;
}
.how-steps::before {
content: '';
position: absolute;
top: 28px; left: 12.5%; right: 12.5%;
height: 1px;
background: linear-gradient(90deg, transparent, var(--blue) 20%, var(--blue) 80%, transparent);
opacity: 0.3;
}
.how-step { transition: transform .15s, border-color .15s; }
.how-step:hover { transform: translateY(-3px); border-color: rgba(0,102,255,0.4); }
.how-step {
text-align: center;
padding: 32px 24px;
position: relative;
background: #ffffff;
border: 1px solid rgba(0,0,0,0.08);
border-radius: var(--radius-lg);
}
.step-num {
width: 48px; height: 48px;
border-radius: var(--radius-full);
background: var(--blue-glow);
border: 2px solid var(--blue);
display: flex; align-items: center; justify-content: center;
font-size: 16px; font-weight: 800;
color: var(--blue);
margin: 0 auto 20px;
position: relative; z-index: 1;
}
.how-step h3 { font-size: 16px; font-weight: 700; color: #0A0A0A; margin-bottom: 8px; }
.how-step p { font-size: 14px; color: #4A4A4A; line-height: 1.6; }
/* CONTACT */
.contact-wrapper {
max-width: 680px;
margin: 0 auto;
text-align: center;
}
.contact-wrapper .section-title { color: #0A0A0A; margin-bottom: 10px; }
.contact-wrapper .section-sub { color: #4A4A4A; margin: 0 auto 48px; }
.contact-form {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
padding: 40px;
text-align: left;
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.form-group { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.form-group label { font-size: 13px; font-weight: 600; color: #4A4A4A; }
.form-group input, .form-group textarea {
background: var(--bg-dark);
border: 1.5px solid var(--border);
border-radius: var(--radius-md);
color: #0A0A0A;
font-size: 15px;
font-family: inherit;
padding: 12px 16px;
outline: none;
transition: border-color 0.2s;
width: 100%;
}
.form-group input:focus, .form-group textarea:focus {
border-color: var(--blue);
}
.form-group input::placeholder, .form-group textarea::placeholder {
color: #6E6E73;
}
.form-group textarea { min-height: 120px; resize: vertical; }
.form-note { font-size: 12px; color: #6E6E73; margin-top: 12px; text-align: center; }
#form-message {
display: none;
padding: 14px 20px;
border-radius: var(--radius-md);
font-size: 14px;
font-weight: 600;
text-align: center;
margin-top: 16px;
}
#form-message.success { background: rgba(0,200,80,0.1); border: 1px solid rgba(0,200,80,0.25); color: #4ade80; }
#form-message.error { background: rgba(255,60,60,0.1); border: 1px solid rgba(255,60,60,0.25); color: #f87171; }
/* FOOTER */
footer {
border-top: 1px solid var(--border);
padding: 40px 40px;
}
.footer-inner {
max-width: 1140px; margin: 0 auto;
display: flex; align-items: center; justify-content: space-between;
flex-wrap: wrap; gap: 20px;
}
.footer-logo { font-size: 17px; font-weight: 700; color: #0A0A0A; }
.footer-copy { font-size: 13px; color: #6E6E73; }
.footer-links { display: flex; gap: 24px; align-items: center; flex-wrap:wrap;gap:12px 24px;}
.footer-links a { font-size: 14px; color: #6E6E73; transition: color 0.2s; }
.footer-links a:hover { color: #0A0A0A; }
.vertical-card { cursor: pointer; text-decoration: none; color: inherit; display: block; transition: transform .15s, box-shadow .15s; }
.vertical-card:hover { transform: translateY(-3px); box-shadow: 0 8px 32px rgba(0,0,0,.12); }
@media(max-width:640px){
.backwards-arrow{display:none}
.backwards-step{width:calc(50% - 8px);min-width:120px}
.how-grid{grid-template-columns:1fr!important}
.how-grid>div{border-left:none!important;border-top:1px solid rgba(0,0,0,.06)!important}
.how-grid>div:first-child{border-top:none!important}
.how-grid>div{padding:36px 28px!important}
}
.vertical-card .drill-hint { font-size:.8rem; font-weight:700; color:var(--blue,#0066ff); margin-top:8px; display:block; }
.footer-social {
width: 32px; height: 32px;
border: 1px solid var(--border);
border-radius: var(--radius-md);
display: flex; align-items: center; justify-content: center;
transition: border-color 0.2s, background 0.2s;
}
.footer-social:hover { border-color: rgba(0,0,0,0.25); background: rgba(0,0,0,0.04); }
.footer-tagline { font-size: 12px; color: #6E6E73; margin-top: 4px; }
/* RESPONSIVE */
@media (max-width: 900px) {
nav { padding: 0 16px; }
.nav-links { display: none; }
.deliver-grid { grid-template-columns: 1fr; }
.verticals-grid { grid-template-columns: 1fr 1fr; }
.how-steps { grid-template-columns: 1fr 1fr; gap: 20px; }
.how-steps::before { display: none; }
.how-step { padding: 24px 20px; }
}
@media (max-width: 640px) {
.hero h1 { color: #0A0A0A; font-size: clamp(28px, 8vw, 48px); }
.hero-sub { color: #4A4A4A; font-size: 16px; }
.hero-ctas { flex-direction: column; gap: 12px; }
.hero-ctas a { width: 100%; text-align: center; }
.hero-stats { flex-direction: column; gap: 20px; align-items: flex-start; }
.section-title { color: #0A0A0A; font-size: clamp(22px, 6vw, 36px); }
.deliver-grid { grid-template-columns: 1fr; }
.deliver-card { padding: 24px 20px; }
.deliver-icon { overflow: hidden !important; }
.deliver-icon svg { max-width: 24px; max-height: 24px; flex-shrink: 0; }
.verticals-grid { grid-template-columns: 1fr; }
.how-steps { grid-template-columns: 1fr; gap: 16px; }
.how-step { padding: 20px 16px; }
.form-row { grid-template-columns: 1fr; }
.contact-form { padding: 24px 20px; }
.footer-inner { flex-direction: column; text-align: center; }
.community-pipeline { flex-direction: column; gap: 20px; padding: 24px 20px; }
.community-pipeline-text h3 { font-size: 1.1rem; }
}
@media (max-width: 480px) {
.container { padding: 0 16px !important; box-sizing: border-box; }
section { padding: 56px 0; }
.hero { padding: 80px 16px 60px; }
.deliver-grid { grid-template-columns: 1fr; gap: 16px; }
.verticals-grid { grid-template-columns: 1fr; gap: 12px; }
.vertical-card { padding: 20px 16px; }
.nav-logo { color: #0A0A0A; font-size: 18px; }
.backwards-arrow { display: none; }
.how-step { transition: transform .15s, border-color .15s; }
.how-step:hover { transform: translateY(-3px); border-color: rgba(0,102,255,0.4); }
.how-step { padding: 24px 20px; }
.contact-form { padding: 20px 16px; }
.footer-inner { gap: 24px; }
.footer-links { flex-wrap: wrap; justify-content: center; gap: 12px 16px; }
table { font-size: .75rem; }
table th, table td { padding: 8px 6px; }
.contradiction-grid { grid-template-columns: 1fr !important; }
.howwework-grid { grid-template-columns: 1fr !important; }
}
/* Global mobile fix */
@media(max-width:480px){
img, svg { max-width:100%; }
table { overflow-x:auto; display:block; }
.container { padding:0 16px !important; box-sizing:border-box; }
/* Reduce inline section padding on mobile */
section[style*="padding:80px"],
section[style*="padding:96px"] { padding-top:48px !important; padding-bottom:48px !important; }
/* Contradiction header */
div[style*="margin-bottom:56px"] { margin-bottom:32px !important; }
div[style*="margin-bottom:48px"] { margin-bottom:24px !important; }
/* How we work grid: single column */
.how-grid { grid-template-columns:1fr !important; }
.how-grid > div { border-left:none !important; border-top:1px solid rgba(0,0,0,.07) !important; padding:28px 20px !important; }
.how-grid > div:first-child { border-top:none !important; }
/* howwework-grid: single column with tighter padding */
.howwework-grid > div { padding:20px !important; }
}
/* Map section mobile fixes */
@media(max-width:600px){
.map-iframe{min-height:260px!important;height:52vh!important}
.map-overlay{position:static!important;background:rgba(0,0,0,.95)!important;border-radius: 0 0 16px 16px;flex-direction:column!important;align-items:flex-start!important;gap:12px;padding:14px 16px!important}
.map-cta-row{width:100%!important;display:flex;gap:8px;flex-wrap:wrap}
.map-cta-row a{flex:1;text-align:center;min-width:120px}
}
/* SVG overflow fix — global */
svg { max-width: 100%; overflow: visible; }
.deliver-icon svg,
.vertical-icon svg,
.footer-social svg,
.row-icon svg { overflow: hidden; flex-shrink: 0; }
/* AUDIT FIX m-001 safety net */
html,body{overflow-x:clip}
/* SOCIAL PROOF */
.social-proof {
background: #ffffff;
border-top: 1px solid rgba(0,0,0,0.06);
border-bottom: 1px solid rgba(0,0,0,0.06);
padding: 28px 24px;
text-align: center;
}
.sp-label {
font-size: 11px;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #a1a1a6;
margin-bottom: 20px;
}
.sp-logos {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 10px 24px;
max-width: 800px;
margin: 0 auto;
}
.sp-item {
font-size: 13px;
font-weight: 600;
color: #6e6e73;
background: #FFFFFF;
border: 1px solid rgba(0,0,0,0.08);
border-radius: var(--radius-md);
padding: 8px 16px;
white-space: nowrap;
transition: border-color 0.2s, color 0.2s;
}
.sp-item:hover { border-color: rgba(0,102,255,0.22); color: #0A0A0A; }
/* P4 MICROINTERACTIONS */
.deliver-card, .vertical-card, .intel-card {
transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.2s ease;
}
/* CTA SECONDARY */
.cta-secondary {
display: inline-flex; align-items: center; gap: 6px;
padding: 14px 22px;
background: transparent;
border: 1.5px solid rgba(0,0,0,0.18);
color: #0A0A0A;
font-size: 15px;
font-weight: 600;
border-radius: var(--radius-md,14px);
transition: background 0.2s, border-color 0.2s, transform 0.15s;
text-decoration: none;
}
.cta-secondary:hover { background: rgba(0,0,0,0.04); border-color: rgba(0,102,255,0.35); color: #0066FF; transform: translateY(-1px); }
/* FOOTER ECOSYSTEM */
.footer-ecosystem {
font-size: 12px; color: #6e6e73; margin-top: 12px; line-height: 1.5;
}
.footer-ecosystem a { color: #0066FF; text-decoration: none; }
.footer-ecosystem a:hover { text-decoration: underline; }
/* LV Illustrations */
.lv-ill-wrap{display:flex;justify-content:center;padding:40px 0 24px}
.lv-ill-wrap svg{max-width:100%;height:auto}
/* Intelligence Cards v2 */
.intel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}
@media(max-width:768px){.intel-grid{grid-template-columns:1fr}}
.intel-card{background:#ffffff;border:1px solid rgba(0,0,0,.08);border-radius: var(--radius-lg);padding:32px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:24px;transition:border-color .2s,transform .2s;cursor:pointer}
.intel-card:hover{border-color:rgba(0,102,255,.35);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.12)}
.intel-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:0}
.intel-module{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0066FF;margin-bottom:6px}
.intel-card h3{font-size:1.0625rem;font-weight:800;color: #0A0A0A;margin:0}
.intel-card-geo{font-size:.75rem;color:rgba(0,0,0,.75);margin-top:2px}
.intel-tag{font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius: 100px;white-space:nowrap}
.intel-tag-live{background:rgba(0,200,83,.12);color:#00C853;border:1px solid rgba(0,200,83,.2)}
.intel-tag-risk{background:rgba(255,59,48,.1);color:#FF3B30;border:1px solid rgba(255,59,48,.2)}
.intel-tag-pred{background:rgba(0,102,255,.12);color:#0066FF;border:1px solid rgba(0,102,255,.2)}
.intel-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:0}
.intel-kpi{background:rgba(0,0,0,.03);border-radius: var(--radius-md);padding:10px 12px}
.intel-kpi-val{font-size:1.1875rem;font-weight:900;color: #0A0A0A;letter-spacing:-.03em;line-height:1}
.intel-kpi-delta{font-size:.6875rem;font-weight:700;margin-top:3px}
.intel-kpi-delta.up{color:#00C853}
.intel-kpi-delta.down{color:#FF3B30}
.intel-kpi-lbl{font-size:.625rem;color:rgba(0,0,0,.75);margin-top:2px;line-height:1.3}
.intel-bar-list{display:flex;flex-direction:column;gap:7px;margin-bottom:0}
.intel-bar-row{display:flex;align-items:center;gap:10px}
.intel-bar-name{font-size:.75rem;color:rgba(0,0,0,.65);min-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.intel-bar-track{flex:1;height:5px;background:rgba(0,0,0,.06);border-radius: var(--radius-sm);overflow:hidden}
.intel-bar-fill{height:100%;border-radius: var(--radius-sm);background:#0066FF}
.intel-bar-fill.risk{background:#FF3B30}
.intel-bar-fill.opp{background:#00C853}
.intel-bar-score{font-size:.6875rem;font-weight:700;color:rgba(0,0,0,.75);min-width:28px;text-align:right}
.intel-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid rgba(0,0,0,.06);margin-top:0}
.intel-obs{font-size:.6875rem;color:rgba(0,0,0,.75)}
.intel-cta{font-size:.75rem;font-weight:700;color:#0066FF;display:flex;align-items:center;gap:4px}
.intel-confidence{display:flex;align-items:center;gap:6px;font-size:.6875rem;color:rgba(0,0,0,.75)}
.intel-conf-bar{width:48px;height:4px;background:rgba(0,0,0,.08);border-radius: var(--radius-sm);overflow:hidden}
.intel-conf-fill{height:100%;background:#0066FF;border-radius: var(--radius-sm)}
.intel-map-placeholder{background:linear-gradient(135deg,#0d1f3c 0%,#0a1628 50%,#0d2235 100%);border-radius: var(--radius-md);height:80px;position:relative;overflow:hidden;margin-bottom:0}
.intel-map-dot{position:absolute;width:8px;height:8px;border-radius: var(--radius-full);background:#0066FF;box-shadow:0 0 0 3px rgba(0,102,255,.2)}
.intel-map-dot.hot{background:#00C853;box-shadow:0 0 0 3px rgba(0,200,83,.2)}
.intel-map-dot.warn{background:#FF3B30;box-shadow:0 0 0 3px rgba(255,59,48,.2)}
/* LV-ILL-02 Pipeline */
.lv-pipeline{display:flex;align-items:center;justify-content:center;gap:0;margin:32px 0 40px;overflow-x:auto;padding:0 8px}
.lv-pipeline-step{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:88px}
.lv-pipeline-icon{width:52px;height:52px;border-radius: var(--radius-lg);background:rgba(0,102,255,.08);border:1px solid rgba(0,102,255,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lv-pipeline-label{font-size:.6875rem;font-weight:700;color:rgba(0,0,0,.75);text-align:center;letter-spacing:.02em;line-height:1.3}
.lv-pipeline-connector{width:32px;height:2px;background:linear-gradient(90deg,rgba(0,102,255,.3),rgba(0,102,255,.1));flex-shrink:0;margin-top:-22px;align-self:flex-start;margin-left:0;position:relative;top:-26px}
@media(max-width:600px){.lv-pipeline{justify-content:flex-start}.lv-pipeline-connector{width:20px}}
@media(max-width:480px){.intel-grid{grid-template-columns:1fr}.intel-kpis{grid-template-columns:repeat(3,1fr);gap:8px}.intel-kpi{padding:8px}.intel-kpi-val{font-size:1rem}.intel-bar-row{gap:8px;flex-wrap:nowrap}.intel-bar-name{min-width:70px;font-size:.6875rem}.intel-bar-score{min-width:24px;font-size:.625rem}}
@media(max-width:480px){.lv-pipeline{gap:0}.lv-pipeline-step{min-width:56px}.lv-pipeline-label{font-size:.5625rem}.lv-pipeline-icon{width:38px;height:38px;border-radius: var(--radius-md)}.lv-pipeline-connector{width:10px}}
/* Mobile fixes for landvex.com */
@media(max-width:480px){
/* Map overlay - REMOVED to avoid conflicts with 600px breakpoint */
/* Intelligence cards */
/* Intelligence cards */
.intel-card {
padding: 16px !important;
}
.intel-card-header {
flex-direction: column !important;
gap: 8px !important;
}
.intel-card-header h3 {
font-size: 1.125rem !important;
}
.intel-kpis {
grid-template-columns: repeat(3, 1fr) !important;
gap: 8px !important;
}
.intel-kpi {
padding: 8px !important;
}
.intel-kpi-val {
font-size: 1rem !important;
}
.intel-kpi-lbl {
font-size: .5625rem !important;
}
.intel-bar-row {
gap: 8px !important;
}
.intel-bar-name {
min-width: 70px !important;
font-size: .6875rem !important;
}
.intel-bar-score {
min-width: 24px !important;
font-size: .625rem !important;
}
.intel-card-footer {
flex-direction: column !important;
gap: 8px !important;
align-items: flex-start !important;
}
}
</style>
<style id="lv-light-theme">
/* Landvex Light Theme Override */
:root {
--bg-dark: #f5f5f7 !important;
--text-light: #1d1d1f !important;
--text-dim: #515154 !important;
--surface: #ffffff !important;
--surface-2: #f5f5f7 !important;
--border: rgba(0,0,0,0.09) !important;
}
body { background: #FFFFFF; background: #f5f5f7 !important; color: #1d1d1f !important; }
nav { background: rgba(255,255,255,0.95) !important; border-bottom: 1px solid rgba(0,0,0,0.08) !important; }
.nav-logo { color: #0A0A0A !important; }
.nav-links a { color: #4A4A4A !important; }
.nav-links a:hover { color: #0A0A0A !important; }
.nav-dropdown-menu { background: rgba(255,255,255,0.98) !important; border: 1px solid rgba(0,0,0,0.10) !important; box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important; }
.nav-dropdown-menu a { color: #4A4A4A !important; }
.nav-dropdown-menu a:hover { color: #0A0A0A !important; background: rgba(0,0,0,0.04) !important; }
.nav-dropdown-menu .dd-label { color: #6E6E73 !important; }
.nav-dropdown-menu hr { border-top: 1px solid rgba(0,0,0,0.08) !important; }
.btn-outline { color: #0A0A0A; border-color: rgba(0,0,0,0.15); border: 1.5px solid rgba(0,0,0,0.18) !important; color: #1d1d1f !important; background: transparent !important; }
.btn-outline:hover { background: rgba(0,0,0,0.06) !important; }
.hero { background: #ffffff !important; }
.hero::before { background: radial-gradient(ellipse at center, rgba(0,102,255,0.07) 0%, transparent 70%) !important; }
.hero h1 { color: #0A0A0A; color: #1d1d1f !important; }
.hero-sub { color: #4A4A4A; color: #515154 !important; }
.hero-eyebrow { background: rgba(0,102,255,0.08); border: 1px solid rgba(0,102,255,0.2); color: #0066FF; background: rgba(0,102,255,0.08) !important; border: 1px solid rgba(0,102,255,0.18) !important; color: #0052CC !important; }
.stat-val { background: linear-gradient(135deg, #1d1d1f 60%, #0066FF) !important; -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; }
.stat-label { color: #6e6e73 !important; }
.section-title { color: #0A0A0A; color: #1d1d1f !important; }
.section-sub { color: #4A4A4A; color: #515154 !important; }
.deliver-bg { background: #ffffff !important; }
.deliver-card { background: #f5f5f7 !important; border: 1px solid rgba(0,0,0,0.08) !important; }
.deliver-card:hover { border-color: rgba(0,102,255,0.28) !important; }
.deliver-card h3 { color: #0A0A0A; color: #1d1d1f !important; }
.deliver-card p { color: #4A4A4A; color: #515154 !important; }
.deliver-icon { background: rgba(0,102,255,0.08) !important; border: 1px solid rgba(0,102,255,0.18) !important; }
.vertical-card { background: #ffffff !important; border: 1px solid rgba(0,0,0,0.08) !important; }
.vertical-card:hover { border-color: rgba(0,102,255,0.25) !important; background: #f5f5f7 !important; }
.vertical-card h3 { color: #0A0A0A; color: #1d1d1f !important; }
.vertical-card p { color: #4A4A4A; color: #515154 !important; }
.vertical-icon { background: #f5f5f7 !important; }
.how-bg { background: #f5f5f7 !important; }
.how-step h3 { color: #1d1d1f !important; }
.how-step p { color: #515154 !important; }
.step-num { background: rgba(0,102,255,0.08) !important; border: 2px solid #0066FF !important; color: #0066FF !important; }
.contact-form { background: #ffffff !important; border: 1px solid rgba(0,0,0,0.08) !important; }
.form-group label { color: #515154 !important; }
.form-group input, .form-group textarea { background: #f5f5f7 !important; border: 1.5px solid rgba(0,0,0,0.12) !important; color: #1d1d1f !important; }
.form-group input::placeholder, .form-group textarea::placeholder { color: #a1a1a6 !important; }
footer { border-top: 1px solid rgba(0,0,0,0.08) !important; background: #ffffff !important; }
.footer-logo { color: #1d1d1f !important; }
.footer-copy { color: #6e6e73 !important; }
.footer-links a { color: #6e6e73 !important; }
.footer-links a:hover { color: #1d1d1f !important; }
.footer-social { border: 1px solid rgba(0,0,0,0.10) !important; }
.footer-social:hover { border-color: rgba(0,0,0,0.22) !important; background: rgba(0,0,0,0.04) !important; }
.intel-card { background: #ffffff !important; border: 1px solid rgba(0,0,0,0.08) !important; }
.intel-card:hover { border-color: rgba(0,102,255,0.28) !important; }
.intel-card h3 { color: #1d1d1f !important; }
.intel-card-geo { color: #515154 !important; }
.intel-kpi { background: rgba(0,0,0,0.03) !important; }
.intel-kpi-val { color: #1d1d1f !important; }
.intel-kpi-lbl { color: #6e6e73 !important; }
.intel-bar-name { color: #515154 !important; }
.intel-bar-track { background: rgba(0,0,0,0.06) !important; }
.intel-bar-score { color: #515154 !important; }
.intel-card-footer { border-top: 1px solid rgba(0,0,0,0.07) !important; }
.intel-obs { color: #6e6e73 !important; }
.intel-confidence { color: #6e6e73 !important; }
.intel-conf-bar { background: rgba(0,0,0,0.08) !important; }
.intel-map-placeholder { background: linear-gradient(135deg, #e8f0fe 0%, #dce8fd 50%, #e4effe 100%) !important; }
.lv-pipeline-label { color: #515154 !important; }
.lv-pipeline-icon { background: rgba(0,102,255,0.07) !important; border: 1px solid rgba(0,102,255,0.15) !important; }
.lv-pipeline-connector { background: linear-gradient(90deg, rgba(0,102,255,0.2), rgba(0,102,255,0.07)) !important; }
.drill-hint { color: #0066FF !important; }
table { background: #ffffff !important; }
table th { background: #f5f5f7 !important; color: #515154 !important; border-bottom: 1px solid rgba(0,0,0,0.08) !important; }
table td { color: #1d1d1f !important; border-bottom: 1px solid rgba(0,0,0,0.06) !important; }
section#cities { background: #f5f5f7 !important; }
section[style*="background:var(--surface-2)"], section[style*="background:var(--surface)"] { background: #f5f5f7 !important; }
.how-grid > div { border-top: 1px solid rgba(0,0,0,0.07) !important; }
@media(max-width:900px) { nav { background: rgba(255,255,255,0.95) !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": "Tyresö",
"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": "Tyresö, Sweden (EU HQ)",
"address": {
"@type": "PostalAddress",
"addressLocality": "Tyresö",
"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 Tyresö, 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>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"@id": "https://landvex.com/#website",
"url": "https://landvex.com",
"name": "Landvex",
"description": "Landvex — decision intelligence for the physical world. Not a meat wholesaler, food company, or logistics firm.",
"publisher": {
"@id": "https://landvex.com/#organization"
},
"inLanguage": "en",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://landvex.com/?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Landvex",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Web",
"description": "Decision intelligence platform for infrastructure, urban and commercial intelligence. Helps municipalities, property owners, infrastructure operators and retail chains make better decisions about physical assets.",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "EUR",
"description": "Contact for enterprise pricing"
},
"publisher": {
"@id": "https://landvex.com/#organization"
}
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What does Landvex do?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Landvex delivers decision intelligence for the physical world. It identifies contradictions between official narratives and observed reality, produces infrastructure risk indexes (0100 scores), urban intelligence, and predictive trend signals — using field observations from the quiXzoom network analysed by the AMOS AI engine. Customers include municipalities, infrastructure operators, property owners, insurers, and investors."
}
},
{
"@type": "Question",
"name": "Is Landvex a meat company or food wholesaler?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Landvex (landvex.com) is a decision intelligence company — not a meat wholesaler, food distributor, or any food-related business. Landvex AB (Tyresö, Sweden) builds infrastructure risk intelligence, urban analytics and contradiction reports for municipalities, enterprises and investors."
}
},
{
"@type": "Question",
"name": "What is Landvex?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Landvex is a decision intelligence platform for the physical world. It helps municipalities, property owners, infrastructure operators and enterprises make better decisions about physical assets."
}
},
{
"@type": "Question",
"name": "How does Landvex collect data?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Landvex uses the quiXzoom contributor network — verified field contributors who collect observations on demand. Every submission is AI-reviewed for quality and specification compliance. Field observations are licensed from quiXzoom Inc under a data processing agreement; individual contributor data is anonymised before analysis."
}
},
{
"@type": "Question",
"name": "What decisions does Landvex support?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Landvex supports decisions on where to invest, where risk is increasing, what is changing in a geography, and where infrastructure or commercial conditions are deteriorating."
}
},
{
"@type": "Question",
"name": "How do I start with Landvex?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Landvex offers a pilot programme — a defined question, defined geography, 6-8 weeks. Contact us at landvex.com/pilot to discuss scope and pricing."
}
}
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Landvex",
"item": "https://landvex.com/"
}
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Speakable",
"speakableSelector": {
"@type": "CssSelectorType",
"cssSelector": [
"h1",
".hero-h1",
".hero-sub",
".hero-eyebrow"
]
},
"url": "https://landvex.com/"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is Landvex?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Landvex is a decision intelligence platform for the physical world. It turns verified field observations — captured by the quiXzoom contributor network — into structured, decision-ready intelligence for organisations managing physical assets, locations and risk."
}
},
{
"@type": "Question",
"name": "Is Landvex a logistics or transport company?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Landvex is not affiliated with any logistics, freight or land-transport companies of similar name. Landvex provides decision intelligence built on verified field data."
}
},
{
"@type": "Question",
"name": "What is quiXzoom?",
"acceptedAnswer": {
"@type": "Answer",
"text": "quiXzoom is the field observation network that powers Landvex: vetted local contributors who complete structured capture missions with geo-tagged, timestamped, AI-reviewed evidence."
}
},
{
"@type": "Question",
"name": "How fast is intelligence delivered?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Standard missions return structured intelligence within 2472 hours of tasking, depending on scope and location."
}
},
{
"@type": "Question",
"name": "How does a pilot work?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A pilot runs for three months, scoped around one real decision your organisation faces. Successful pilots typically continue as an annual intelligence subscription."
}
}
]
}
</script>
</head>
<body>
<!-- NAV -->
<nav>
<a class="nav-logo" href="/">LandveX</a>
<ul class="nav-links">
<li><a href="#how-it-works">How it works</a></li>
<li><a href="#verticals">Verticals</a></li>
<li class="nav-dropdown">
<a href="/methodology/">Intelligence</a>
<div class="nav-dropdown-menu">
<div class="dd-label">Learn</div>
<a href="/methodology/">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg>
Methodology
</a>
<a href="#intelligence">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg>
Intelligence scores
</a>
<hr/>
<div class="dd-label">Verticals</div>
<a href="/verticals/property/">Property &amp; Real Estate</a>
<a href="/verticals/investors/">Investors &amp; Asset Mgrs</a>
<a href="/verticals/municipalities/">Municipalities</a>
<a href="/verticals/infrastructure/">Infrastructure</a>
<a href="/verticals/retail/">Retail &amp; F&amp;B</a>
<a href="/verticals/insurance/">Insurance</a>
<a href="/verticals/utilities/">Utilities</a>
<hr/>
<div class="dd-label">Products</div>
<a href="/enterprise/">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M9 21V9"/></svg>
Enterprise
</a>
<a href="/reports/">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/></svg>
Intelligence Reports
</a>
<a href="/pilot/">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
Pilot Programme
</a>
<hr/>
<div class="dd-label">Compare</div>
<a href="/comparison/">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg>
Compare →
</a>
<a href="/sla/">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 11 12 14 22 4"/><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"/></svg>
SLA &amp; Coverage →
</a>
<hr/>
<a href="/security/">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
Security
</a>
</div>
</li>
<li><a href="#cities">Cities</a></li>
<li><a href="/insights/">Insights</a></li>
<li><a href="/enterprise/">Enterprise</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
<a class="btn btn-outline" href="#contact">Get in touch →</a>
</nav>
<!-- HERO -->
<section class="hero" style="padding:48px 24px 36px;background:#ffffff">
<div class="hero-eyebrow">Reality Intelligence Operating System</div>
<h1 style="font-size:clamp(28px,5vw,52px)">The OS for the physical world.</h1>
<p class="hero-sub" style="max-width:640px">Landvex RIOS transforms continuous video observations into structured Reality Intelligence. Not just data — a continuously learning system that observes, explains, prioritises and improves.</p>
<div class="hero-ctas" style="margin-top:24px">
<a class="btn btn-lg" href="/verticals/insurance/">Insurance intelligence &rarr;</a>
<a class="btn btn-outline btn-lg" href="/enterprise/">Request a pilot &rarr;</a>
<a href="/methodology/" class="cta-secondary">See how we work &rarr;</a>
</div>
</section>
<!-- RIOS OVERVIEW -->
<section style="padding:80px 0;background:#f5f5f7">
<div class="container">
<div style="text-align:center;margin-bottom:56px">
<div class="section-label">Reality Intelligence OS</div>
<h2 class="section-title">From observation to intelligence.<br>Continuously.</h2>
<p class="section-sub" style="margin:0 auto;max-width:600px">RIOS is a vendor-agnostic AI operating system that transforms video observations into structured Reality Intelligence. It supports real-time field analysis today while continuously training proprietary models that gradually replace expensive third-party inference.</p>
</div>
<div class="how-grid" style="display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(0,0,0,.06);border-radius: var(--radius-lg);overflow:hidden">
<div style="background:#ffffff;padding:48px 44px;position:relative;border:1px solid rgba(0,0,0,0.08)">
<div style="font-size:.6875rem;font-weight:800;color:#0066FF;text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">01</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">Reality Capture</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">QUIXZOOM mobile app, body cameras, vehicle-mounted cameras, drones, Meta smart glasses. 4K/8K video, GPS, IMU, compass, device metadata. Nothing discarded. Original media immutable.</p>
</div>
<div style="background:#ffffff;padding:48px 44px;border-left:1px solid rgba(0,0,0,.07)">
<div style="font-size:.6875rem;font-weight:800;color:rgba(0,102,255,.7);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">02</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">AI Orchestration</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">Every observation enters an orchestration engine that decides which specialist models execute. Scene classification, object detection, semantic segmentation, depth estimation, OCR, risk detection, contribution detection.</p>
</div>
<div style="background:#ffffff;padding:48px 44px;border-top:1px solid rgba(0,0,0,.06)">
<div style="font-size:.6875rem;font-weight:800;color:rgba(0,102,255,.7);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">03</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">Active Learning (RALE)</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">The system never asks unnecessary questions. Every human interaction maximizes future AI performance. Questions generated only when expected learning value exceeds threshold. Micro-validations in 2-5 seconds.</p>
</div>
<div style="background:#ffffff;padding:48px 44px;border-top:1px solid rgba(0,0,0,.06);border-left:1px solid rgba(0,0,0,.07)">
<div style="font-size:.6875rem;font-weight:800;color:rgba(0,102,255,.7);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">04</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">Knowledge Graph</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">Every confirmed observation updates assets, relationships, ownership, condition, maintenance history, predicted deterioration, regulatory status, business opportunities. Reality itself becomes a continuously indexed database.</p>
</div>
</div>
</div>
</section>
<!-- SOCIAL PROOF -->
<section class="social-proof">
<p class="sp-label">Trusted by decision makers in</p>
<div class="sp-logos">
<div class="sp-item"> Municipal Government</div>
<div class="sp-item"><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> Infrastructure</div>
<div class="sp-item"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="3" y="2" width="10" height="12" rx="1" stroke="#666" stroke-width="1.5"/><path d="M6 5H7M6 8H7M6 11H7M9 5H10M9 8H10M9 11H10" stroke="#666" stroke-width="1.5" stroke-linecap="round"/></svg> Real Estate</div>
<div class="sp-item"> Insurance</div>
<div class="sp-item"><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> Investment</div>
</div>
</section>
<!-- Intelligence Map Demo -->
<section style="padding:48px 0 80px;background:#f5f5f7">
<div class="container" style="max-width:1100px;margin:0 auto;padding:0 24px">
<!-- Header -->
<div style="text-align:center;margin-bottom:32px">
<div style="display:inline-flex;align-items:center;gap:8px;background:rgba(0,102,255,.08);border:1px solid rgba(0,102,255,.18);border-radius: var(--radius-xl);padding:5px 14px;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0052CC;margin-bottom:16px">
<span style="width:7px;height:7px;border-radius: var(--radius-full);background:#0052CC;display:inline-block"></span>
Live demonstration
</div>
<h2 style="font-size:clamp(22px,4vw,36px);font-weight:800;letter-spacing:-.5px;color:#1d1d1f;margin-bottom:12px;line-height:1.15">Intelligence Map &mdash; 100+ Cities</h2>
<p style="font-size:1rem;color:#515154;max-width:500px;margin:0 auto;line-height:1.65">Click any city. Infrastructure risk, commercial vitality, contradiction index &mdash; all sourced, all traceable.</p>
</div>
<!-- Map frame -->
<div style="border-radius: var(--radius-lg);overflow:hidden;border:1px solid rgba(0,0,0,.1);box-shadow:0 8px 32px rgba(0,0,0,.10)">
<iframe src="/intelligence-map.html" style="width:100%;height:min(68vh,560px);min-height:320px;border:none;display:block" title="Landvex Intelligence Map" loading="lazy" allow="geolocation" class="map-iframe"></iframe>
<!-- Bottom bar: sits flush under map, inside same border-radius container -->
<div class="map-overlay" style="color:#0A0A0A;background:rgba(0,0,0,.97);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.07)">
<div style="display:flex;align-items:center;gap:10px;flex:1;min-width:0">
<div style="width:6px;height:6px;border-radius: var(--radius-full);background:#22c55e;flex-shrink:0"></div>
<span style="font-size:.8125rem;color:#4A4A4A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis">Source First</span>
</div>
<div class="map-cta-row" style="display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap">
<a href="/intelligence-map" style="background:#0066FF;color: #fff;font-size:.8125rem;font-weight:700;padding:9px 18px;border-radius: var(--radius-md);text-decoration:none;white-space:nowrap">Open full map →</a>
</div>
</div>
</div>
<!-- Tags -->
<div style="display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:20px">
<span style="font-size:.75rem;font-weight:600;background:rgba(0,0,0,.05);color:rgba(0,0,0,.4);border-radius: var(--radius-xl);padding:5px 13px;border:1px solid rgba(0,0,0,.07)">100+ cities</span>
<span style="font-size:.75rem;font-weight:600;background:rgba(0,0,0,.05);color:rgba(0,0,0,.4);border-radius: var(--radius-xl);padding:5px 13px;border:1px solid rgba(0,0,0,.07)">Contradiction Index</span>
<span style="font-size:.75rem;font-weight:600;background:rgba(0,0,0,.05);color:rgba(0,0,0,.4);border-radius: var(--radius-xl);padding:5px 13px;border:1px solid rgba(0,0,0,.07)">Infrastructure Risk</span>
<span style="font-size:.75rem;font-weight:600;background:rgba(0,0,0,.05);color:rgba(0,0,0,.4);border-radius: var(--radius-xl);padding:5px 13px;border:1px solid rgba(0,0,0,.07)">Commercial Vitality</span>
<span style="font-size:.75rem;font-weight:600;background:rgba(0,0,0,.05);color:rgba(0,0,0,.4);border-radius: var(--radius-xl);padding:5px 13px;border:1px solid rgba(0,0,0,.07)">City Health</span>
<span style="font-size:.75rem;font-weight:600;background:rgba(0,0,0,.05);color:rgba(0,0,0,.4);border-radius: var(--radius-xl);padding:5px 13px;border:1px solid rgba(0,0,0,.07)">Source First</span>
</div>
</div>
</section>
<!-- HOW WE WORK -->
<section style="padding:96px 0;background:#f8f9fa;position:relative;overflow:hidden">
<div style="position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 60% 50% at 100% 50%,rgba(0,102,255,.08) 0%,transparent 70%);pointer-events:none"></div>
<div class="container" style="position:relative">
<div style="max-width:560px;margin-bottom:72px">
<div class="section-label" style="color:#0066FF;margin-bottom:16px;letter-spacing:0.12em">METHODOLOGY</div>
<h2 class="section-title" style="color:#0A0A0A;margin-bottom:20px;line-height:1.05;text-shadow:none">We start with your decision.<br>Not with our data.</h2>
<p style="font-size:1.0625rem;color:#4A4A4A;line-height:1.7;max-width:480px">Most intelligence platforms sell you a dataset and leave the interpretation to you. Landvex works backwards — from the decision you need to make to the intelligence required to make it confidently.</p>
</div>
<div class="how-grid" style="display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(0,0,0,.06);border-radius: var(--radius-lg);overflow:hidden">
<div style="background:#ffffff;padding:48px 44px;position:relative;border:1px solid rgba(0,0,0,0.08)">
<div style="font-size:.6875rem;font-weight:800;color:#0066FF;text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">01</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">Define the decision</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">Which assets to prioritise? Where to invest? What to insure? You define the decision — we build the intelligence to support it.</p>
</div>
<div style="background:#ffffff;padding:48px 44px;border-left:1px solid rgba(0,0,0,.07)">
<div style="font-size:.6875rem;font-weight:800;color:rgba(0,102,255,.7);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">02</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">Design the intelligence model</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">We translate your decision into an observation protocol — what evidence you need, at what frequency, across which locations. Nothing more, nothing less.</p>
</div>
<div style="background:#ffffff;padding:48px 44px;border-top:1px solid rgba(0,0,0,.06)">
<div style="font-size:.6875rem;font-weight:800;color:rgba(0,102,255,.7);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">03</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">Deploy field collection</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">Verified contributors collect the evidence — geo-tagged, timestamped, AI-reviewed. Every observation is traceable to a person, place, and time.</p>
</div>
<div style="background:#ffffff;padding:48px 44px;border-top:1px solid rgba(0,0,0,.06);border-left:1px solid rgba(0,0,0,.07)">
<div style="font-size:.6875rem;font-weight:800;color:rgba(0,102,255,.7);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">04</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">Deliver structured intelligence</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">You receive an answer — not a dataset. Condition scores, risk rankings, change flags. Formatted for the decision you defined in step one.</p>
</div>
</div>
</div>
</section>
<!-- 10 DECISIONS -->
<section style="padding:80px 0;background:var(--surface)">
<div class="container">
<div style="text-align:center;margin-bottom:56px">
<div class="section-label">Decision intelligence</div>
<h2 class="section-title">Ten decisions. One platform.</h2>
<p class="section-sub" style="margin:0 auto;max-width:600px">Property owners, municipalities, retailers, infrastructure operators, investors. Different industries — identical need: to make better decisions about the physical world. Landvex is built for that.</p>
<div class="lv-ill-wrap" aria-hidden="true" style="margin: 40px 0;">
<svg viewBox="0 0 600 140" xmlns="http://www.w3.org/2000/svg" width="600" height="140">
<defs>
<style>@media(prefers-reduced-motion:no-preference){.pla{animation:pla 2.4s ease-in-out infinite}.plb{animation:pla 2.4s ease-in-out 1.2s infinite}}@keyframes pla{0%,100%{opacity:.65}50%{opacity:1}}</style>
</defs>
<g transform="translate(110,70)" class="pla">
<rect x="-46" y="-52" width="92" height="104" rx="8" fill="#111" stroke="rgba(0,0,0,0.08)" stroke-width="1"/>
<line x1="-28" y1="-28" x2="28" y2="-28" stroke="rgba(0,0,0,0.25)" stroke-width="2" stroke-linecap="round"/>
<line x1="-28" y1="-14" x2="18" y2="-14" stroke="rgba(0,0,0,0.15)" stroke-width="1.5" stroke-linecap="round"/>
<line x1="-28" y1="0" x2="22" y2="0" stroke="rgba(0,0,0,0.15)" stroke-width="1.5" stroke-linecap="round"/>
<circle cx="0" cy="28" r="12" fill="#00C853" opacity="0.15"/>
<path d="M-5 28 L-2 31 L7 23" fill="none" stroke="#00C853" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
<text y="64" text-anchor="middle" font-family="system-ui,sans-serif" font-size="11" fill="rgba(0,0,0,0.4)">Official report</text>
</g>
<line x1="166" y1="70" x2="224" y2="70" stroke="#0066FF" stroke-width="1.5" stroke-dasharray="4 3" opacity="0.35"/>
<g transform="translate(300,70)">
<circle r="26" fill="#0066FF" opacity="0.07"/>
<circle r="26" fill="none" stroke="#0066FF" stroke-width="1" opacity="0.25"/>
<text text-anchor="middle" dy="8" font-size="24" font-weight="900" fill="#0066FF" opacity="0.75" font-family="system-ui,sans-serif"></text>
</g>
<line x1="376" y1="70" x2="434" y2="70" stroke="#0066FF" stroke-width="1.5" stroke-dasharray="4 3" opacity="0.35"/>
<g transform="translate(490,70)" class="plb">
<rect x="-46" y="-52" width="92" height="104" rx="8" fill="#111" stroke="rgba(0,0,0,0.08)" stroke-width="1"/>
<rect x="-22" y="-22" width="44" height="32" rx="4" fill="none" stroke="rgba(0,0,0,0.35)" stroke-width="1.5"/>
<circle cx="0" cy="-6" r="9" fill="none" stroke="rgba(0,0,0,0.35)" stroke-width="1.5"/>
<path d="M-10-22 L-8-28 L8-28 L10-22" fill="none" stroke="rgba(0,0,0,0.25)" stroke-width="1.5" stroke-linecap="round"/>
<circle cx="0" cy="28" r="12" fill="#FF3B30" opacity="0.15"/>
<line x1="0" y1="22" x2="0" y2="30" stroke="#FF3B30" stroke-width="2.5" stroke-linecap="round"/>
<circle cx="0" cy="35" r="1.5" fill="#FF3B30"/>
<text y="64" text-anchor="middle" font-family="system-ui,sans-serif" font-size="11" fill="rgba(0,0,0,0.4)">Field observation</text>
</g>
</svg>
</div>
</div>
<p style="text-align:center;color:var(--text-muted);font-size:0.875rem;margin:32px 0 24px;"><svg width="20" height="20" viewBox="0 0 20 20" fill="none"><path d="M10 3L17 17H3L10 3Z" stroke="#f59e0b" stroke-width="2"/><path d="M10 8V12M10 14V14.5" stroke="#f59e0b" stroke-width="2" stroke-linecap="round"/></svg> All intelligence examples below are illustrative sample data for demonstration purposes.</p>
<div class="intel-grid">
<!-- CARD 1: Change Intelligence -->
<a class="intel-card" href="#contact">
<div class="intel-card-header">
<div>
<div class="intel-module">Change Intelligence</div>
<h3>What is changing?</h3>
<div class="intel-card-geo">Houston Metro &middot; Last 12 months</div>
</div>
<span class="intel-tag intel-tag-live">Live</span>
</div>
<div class="intel-kpis">
<div class="intel-kpi">
<div class="intel-kpi-val">92%</div>
<div class="intel-kpi-delta up">&uarr; 4.1%</div>
<div class="intel-kpi-lbl">Commercial occupancy</div>
</div>
<div class="intel-kpi">
<div class="intel-kpi-val">+1,742</div>
<div class="intel-kpi-delta up">&uarr; 12%</div>
<div class="intel-kpi-lbl">Business openings</div>
</div>
<div class="intel-kpi">
<div class="intel-kpi-val">+7.8%</div>
<div class="intel-kpi-delta up">&uarr;</div>
<div class="intel-kpi-lbl">Traffic volume</div>
</div>
</div>
<div style="font-size:.6875rem;font-weight:700;color:#515154;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px">Top Growing Districts</div>
<div class="intel-bar-list">
<div class="intel-bar-row"><span class="intel-bar-name">Energy Corridor</span><div class="intel-bar-track"><div class="intel-bar-fill" style="width:88%"></div></div><span class="intel-bar-score">88</span></div>
<div class="intel-bar-row"><span class="intel-bar-name">Katy</span><div class="intel-bar-track"><div class="intel-bar-fill" style="width:81%"></div></div><span class="intel-bar-score">81</span></div>
<div class="intel-bar-row"><span class="intel-bar-name">Cypress</span><div class="intel-bar-track"><div class="intel-bar-fill" style="width:74%"></div></div><span class="intel-bar-score">74</span></div>
</div>
<div class="intel-card-footer">
<span class="intel-obs">Based on 6,840 field observations</span>
<span class="intel-cta">Full analysis <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12h14M12 5l7 7-7 7"/></svg></span>
</div>
</a>
<!-- CARD 2: Opportunity Intelligence -->
<a class="intel-card" href="#contact">
<div class="intel-card-header">
<div>
<div class="intel-module">Opportunity Intelligence</div>
<h3>Where is the opportunity?</h3>
<div class="intel-card-geo">Houston Metro &middot; Ranked by score</div>
</div>
<span class="intel-tag intel-tag-live" style="background:rgba(0,200,83,.1);color:#00C853;border-color:rgba(0,200,83,.2)">High signal</span>
</div>
<div class="intel-kpis">
<div class="intel-kpi">
<div class="intel-kpi-val">92</div>
<div class="intel-kpi-delta up">Top score</div>
<div class="intel-kpi-lbl">Katy TX</div>
</div>
<div class="intel-kpi">
<div class="intel-kpi-val">2.1%</div>
<div class="intel-kpi-delta up">Low vacancy</div>
<div class="intel-kpi-lbl">Retail vacancy</div>
</div>
<div class="intel-kpi">
<div class="intel-kpi-val">+11%</div>
<div class="intel-kpi-delta up">&uarr;</div>
<div class="intel-kpi-lbl">Population growth</div>
</div>
</div>
<div style="font-size:.6875rem;font-weight:700;color:#515154;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px">Highest Opportunity Score</div>
<div class="intel-bar-list">
<div class="intel-bar-row"><span class="intel-bar-name">Katy TX</span><div class="intel-bar-track"><div class="intel-bar-fill opp" style="width:92%"></div></div><span class="intel-bar-score">92</span></div>
<div class="intel-bar-row"><span class="intel-bar-name">Spring</span><div class="intel-bar-track"><div class="intel-bar-fill opp" style="width:85%"></div></div><span class="intel-bar-score">85</span></div>
<div class="intel-bar-row"><span class="intel-bar-name">The Woodlands</span><div class="intel-bar-track"><div class="intel-bar-fill opp" style="width:79%"></div></div><span class="intel-bar-score">79</span></div>
</div>
<div class="intel-card-footer">
<span class="intel-obs">Income growth +8% &middot; Competition density: low</span>
<span class="intel-cta">Full analysis <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12h14M12 5l7 7-7 7"/></svg></span>
</div>
</a>
<!-- CARD 3: Risk Intelligence -->
<a class="intel-card" href="#contact">
<div class="intel-card-header">
<div>
<div class="intel-module">Risk Intelligence</div>
<h3>Where is the risk?</h3>
<div class="intel-card-geo">Houston Metro &middot; Risk-scored districts</div>
</div>
<span class="intel-tag intel-tag-risk">3 alerts</span>
</div>
<div class="intel-kpis">
<div class="intel-kpi">
<div class="intel-kpi-val">83</div>
<div class="intel-kpi-delta down">High risk</div>
<div class="intel-kpi-lbl">SW Houston score</div>
</div>
<div class="intel-kpi">
<div class="intel-kpi-val">+17%</div>
<div class="intel-kpi-delta down">&darr; trend</div>
<div class="intel-kpi-lbl">Vacancy rate</div>
</div>
<div class="intel-kpi">
<div class="intel-kpi-val">+21%</div>
<div class="intel-kpi-delta down">&darr;</div>
<div class="intel-kpi-lbl">Store closures</div>
</div>
</div>
<div style="font-size:.6875rem;font-weight:700;color:#515154;text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px">Highest Risk Areas</div>
<div class="intel-bar-list">
<div class="intel-bar-row"><span class="intel-bar-name">SW Houston</span><div class="intel-bar-track"><div class="intel-bar-fill risk" style="width:83%"></div></div><span class="intel-bar-score">83</span></div>
<div class="intel-bar-row"><span class="intel-bar-name">Greenspoint</span><div class="intel-bar-track"><div class="intel-bar-fill risk" style="width:76%"></div></div><span class="intel-bar-score">76</span></div>
<div class="intel-bar-row"><span class="intel-bar-name">Gulfgate</span><div class="intel-bar-track"><div class="intel-bar-fill risk" style="width:68%"></div></div><span class="intel-bar-score">68</span></div>
</div>
<div class="intel-card-footer">
<span class="intel-obs">Property condition: declining &middot; 4,120 observations</span>
<span class="intel-cta">Full risk report <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12h14M12 5l7 7-7 7"/></svg></span>
</div>
</a>
<!-- CARD 4: Predictive Intelligence -->
<a class="intel-card" href="#contact">
<div class="intel-card-header">
<div>
<div class="intel-module">Predictive Intelligence</div>
<h3>What will happen next?</h3>
<div class="intel-card-geo">Houston Metro &middot; Next 24 months</div>
</div>
<span class="intel-tag intel-tag-pred">Forecast</span>
</div>
<div class="intel-map-placeholder">
<div class="intel-map-dot hot" style="top:22%;left:28%"></div>
<div class="intel-map-dot hot" style="top:38%;left:52%"></div>
<div class="intel-map-dot hot" style="top:55%;left:38%"></div>
<div class="intel-map-dot warn" style="top:65%;left:22%"></div>
<div class="intel-map-dot" style="top:30%;left:70%"></div>
<div class="intel-map-dot" style="top:48%;left:78%"></div>
<div style="position:absolute;bottom:8px;right:10px;font-size:.6rem;color:#515154;font-weight:600">Predicted growth hotspots</div>
</div>
<div class="intel-kpis">
<div class="intel-kpi">
<div class="intel-kpi-val">87%</div>
<div class="intel-kpi-delta up">Confidence</div>
<div class="intel-kpi-lbl">Model accuracy</div>
</div>
<div class="intel-kpi">
<div class="intel-kpi-val">4,281</div>
<div class="intel-kpi-delta up">Observations</div>
<div class="intel-kpi-lbl">Training base</div>
</div>
<div class="intel-kpi">
<div class="intel-kpi-val">3</div>
<div class="intel-kpi-delta up">Hotspots</div>
<div class="intel-kpi-lbl">Identified</div>
</div>
</div>
<div class="intel-card-footer">
<span class="intel-obs">Indicative signals &mdash; not investment advice</span>
<span class="intel-cta">View forecast <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12h14M12 5l7 7-7 7"/></svg></span>
</div>
</a>
</div>
<style>
.verticals-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
align-items: stretch;
}
@media(max-width:768px){.verticals-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.verticals-grid{grid-template-columns:1fr}}
.vertical-card {
background: #fff;
border: 1px solid rgba(0,0,0,0.08);
border-radius: var(--radius-lg);
padding: 28px;
display: flex;
flex-direction: column;
gap: 12px;
text-decoration: none;
color: inherit;
transition: box-shadow 0.2s;
}
.vertical-card:hover {
box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.vertical-card h3 {
margin: 0;
font-size: 1.0625rem;
font-weight: 700;
}
.vertical-card p {
margin: 0;
font-size: 0.875rem;
line-height: 1.5;
color: #4A4A4A;
}
.vertical-icon {
margin-bottom: 4px;
}
</style>
<div class="verticals-grid">
<a class="vertical-card" href="#contact">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="20" x2="18" y2="10"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg></div>
<h3>How do we compare?</h3>
<p style="font-size:.875rem">Stockholm vs Copenhagen. Milan vs Barcelona. Your district vs the benchmark.</p>
</a>
<a class="vertical-card" href="#contact">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<h3>Where should we invest?</h3>
<p style="font-size:.875rem">New store, new road, new district, new terminal — ranked by observed potential.</p>
<p style="font-size:.75rem;color:#aaa;margin-top:4px"><em>Location intelligence only — not financial or investment advice.</em></p>
</a>
<a class="vertical-card" href="#contact">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></svg></div>
<h3>What needs attention first?</h3>
<p style="font-size:.875rem">Prioritisation within budget constraints — based on actual condition, not assumptions.</p>
</a>
<a class="vertical-card" href="#contact">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg></div>
<h3>What are we missing?</h3>
<p style="font-size:.875rem">Blind spots. Problems not yet visible in official data or internal reports.</p>
</a>
<a class="vertical-card" href="#contact">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg></div>
<h3>Are resources placed correctly?</h3>
<p style="font-size:.875rem">Municipalities, infrastructure operators, property portfolios — allocation intelligence.</p>
</a>
<a class="vertical-card" href="#contact">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></div>
<h3>What does reality actually look like?</h3>
<p style="font-size:.875rem">Not registers. Not reports. Not surveys. The physical world as it exists today.</p>
</a> </div>
</div>
</section>
<!-- DELIVER -->
<section class="deliver-bg">
<div class="container">
<div class="deliver-header">
<div class="section-label">What we deliver</div>
<h2 class="section-title">From question to decision.</h2>
<p class="section-sub">Intelligence that answers a specific question — not data that leaves you guessing.</p>
</div>
<div class="lv-pipeline" aria-label="Landvex intelligence pipeline" role="img">
<div class="lv-pipeline-step">
<div class="lv-pipeline-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#0066FF" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg></div>
<span class="lv-pipeline-label">Mission<br>Brief</span>
</div>
<div class="lv-pipeline-connector"></div>
<div class="lv-pipeline-step">
<div class="lv-pipeline-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#0066FF" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg></div>
<span class="lv-pipeline-label">Field<br>Collection</span>
</div>
<div class="lv-pipeline-connector"></div>
<div class="lv-pipeline-step">
<div class="lv-pipeline-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#0066FF" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg></div>
<span class="lv-pipeline-label">AI<br>Analysis</span>
</div>
<div class="lv-pipeline-connector"></div>
<div class="lv-pipeline-step">
<div class="lv-pipeline-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#0066FF" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg></div>
<span class="lv-pipeline-label">Scoring<br>0-100</span>
</div>
<div class="lv-pipeline-connector"></div>
<div class="lv-pipeline-step">
<div class="lv-pipeline-icon"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#0066FF" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg></div>
<span class="lv-pipeline-label">Intelligence<br>Report</span>
</div>
<div class="lv-pipeline-connector"></div>
<div class="lv-pipeline-step">
<div class="lv-pipeline-icon" style="background:rgba(0,200,83,.08);border-color:rgba(0,200,83,.2)"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#00C853" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 11 12 14 22 4"/><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"/></svg></div>
<span class="lv-pipeline-label" style="color:rgba(0,200,83,.7)">Decision<br>Made</span>
</div>
</div>
<div class="deliver-grid">
<a class="deliver-card" href="/methodology/" style="text-decoration:none;color:inherit;cursor:pointer;display:block">
<div class="deliver-icon" style="width:48px;height:48px;min-width:48px;overflow:hidden;background:rgba(0,102,255,.12);border-radius: var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>
</div>
<div class="number">20+</div>
<h3>Countries</h3>
<p>Launching across 20+ countries from August 2026. No local staffing or coordination infrastructure required.</p>
<span style="font-size:.8rem;font-weight:700;color:#0066ff;margin-top:12px;display:block">How it works →</span>
</a>
<a class="deliver-card" href="/methodology/" style="text-decoration:none;color:inherit;cursor:pointer;display:block">
<div class="deliver-icon" style="width:48px;height:48px;min-width:48px;overflow:hidden;background:rgba(0,102,255,.12);border-radius: var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
</div>
<div class="number">2472h</div>
<h3>Speed</h3>
<p>From mission creation to structured data delivery in 24 to 72 hours. No lengthy procurement cycles.</p>
<span style="font-size:.8rem;font-weight:700;color:#0066ff;margin-top:12px;display:block">Methodology →</span>
</a>
<a class="deliver-card" href="/methodology/" style="text-decoration:none;color:inherit;cursor:pointer;display:block">
<div class="deliver-icon" style="width:48px;height:48px;min-width:48px;overflow:hidden;background:rgba(0,102,255,.12);border-radius: var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg>
</div>
<div class="number">AI</div>
<h3>Quality</h3>
<p>Every submission reviewed for geo-compliance, technical quality and specification adherence before delivery.</p>
<span style="font-size:.8rem;font-weight:700;color:#0066ff;margin-top:12px;display:block">Quality standards →</span>
</a>
</div>
</div>
</section>
<!-- VERTICALS -->
<section id="verticals">
<div class="container">
<div class="verticals-header">
<div class="section-label">Verticals</div>
<h2 class="section-title">Who we help make better decisions.</h2>
<p class="section-sub" style="margin:0 auto;color:#515154">If your decisions depend on the physical world, we can make them sharper.</p>
</div>
<div class="verticals-grid">
<a class="vertical-card" href="/verticals/municipalities/" style="display:block;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><line x1="3" y1="22" x2="21" y2="22"/><line x1="6" y1="18" x2="6" y2="11"/><line x1="10" y1="18" x2="10" y2="11"/><line x1="14" y1="18" x2="14" y2="11"/><line x1="18" y1="18" x2="18" y2="11"/><polygon points="12 2 20 7 4 7"/></svg></div>
<div>
<h3>Municipalities &amp; Government</h3>
<p class="vertical-question" style="font-size:.8rem;font-weight:700;color:var(--blue,#0066ff);margin-bottom:4px">Which areas will require the most investment over the next five years?</p>
<p>Urban asset management, planning compliance, public space documentation.</p>
<span class="drill-hint">Deep dive →</span>
</div>
</a>
<a class="vertical-card" href="/verticals/infrastructure/" style="display:block;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 8h1a4 4 0 0 1 0 8h-1"/><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"/><line x1="6" y1="1" x2="6" y2="4"/><line x1="10" y1="1" x2="10" y2="4"/></svg></div>
<div>
<h3>Infrastructure Operators</h3>
<p class="vertical-question" style="font-size:.8rem;font-weight:700;color:var(--blue,#0066ff);margin-bottom:4px">Where will problems emerge before they become expensive?</p>
<p>Bridge inspections, road condition surveys, utility corridor mapping.</p>
<span class="drill-hint">Deep dive →</span>
</div>
</a>
<a class="vertical-card" href="/verticals/property/" style="display:block;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18"/><path d="M9 21V9"/></svg></div>
<div>
<h3>Property &amp; Real Estate</h3>
<p class="vertical-question" style="font-size:.8rem;font-weight:700;color:var(--blue,#0066ff);margin-bottom:4px">Is this area showing growth signals worth investigating?</p>
<p>Portfolio documentation, condition assessments, site verification at scale.</p>
<span class="drill-hint">Deep dive →</span>
</div>
</a>
<a class="vertical-card" href="/verticals/insurance/" style="border-color:rgba(0,102,255,.25);position:relative;display:block;text-decoration:none;color:inherit;cursor:pointer">
<span style="position:absolute;top:12px;right:12px;background:#0066FF;color:#0A0A0A;font-size:.6rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius: 100px">Vertical</span>
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div>
<div>
<h3>Insurance</h3>
<p class="vertical-question" style="font-size:.8rem;font-weight:700;color:var(--blue,#0066ff);margin-bottom:4px">Which areas carry elevated risk?</p>
<p>Claims validation, pre-loss surveys, risk assessment for physical assets.</p>
<span class="drill-hint">Deep dive →</span>
</div>
</a>
<a class="vertical-card" href="/verticals/utilities/" style="display:block;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg></div>
<div>
<h3>Utilities &amp; Energy</h3>
<p class="vertical-question" style="font-size:.8rem;font-weight:700;color:var(--blue,#0066ff);margin-bottom:4px">Where is grid capacity becoming a constraint?</p>
<p>Grid infrastructure surveys, solar/wind asset documentation, network inspections.</p>
<span class="drill-hint">Deep dive →</span>
</div>
</a>
<a class="vertical-card" href="/verticals/logistics/" style="display:block;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="1" y="3" width="15" height="13" rx="1"/><path d="M16 8h4l3 3v5h-7V8z"/><circle cx="5.5" cy="18.5" r="2.5"/><circle cx="18.5" cy="18.5" r="2.5"/></svg></div>
<div>
<h3>Logistics</h3>
<p class="vertical-question" style="font-size:.8rem;font-weight:700;color:var(--blue,#0066ff);margin-bottom:4px">Where is your network underperforming?</p>
<p>Last-mile network design, depot location selection, route efficiency and capacity planning.</p>
<span class="drill-hint">Deep dive →</span>
</div>
</a>
<a class="vertical-card" href="/verticals/retail/" style="display:block;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg></div>
<div>
<h3>Retail &amp; Franchise</h3>
<p class="vertical-question" style="font-size:.8rem;font-weight:700;color:var(--blue,#0066ff);margin-bottom:4px">Where should the next location open?</p>
<p>Store compliance audits, signage verification, location intelligence at scale.</p>
<span class="drill-hint">Deep dive →</span>
</div>
</a>
</div>
</div>
</section>
<!-- INTELLIGENCE INDEXES -->
<section id="intelligence" style="background:var(--surface-2);padding:80px 0">
<div class="container">
<div style="text-align:center;margin-bottom:56px">
<div class="section-label">Intelligence layer</div>
<h2 class="section-title">A score from 0100.<br>For every decision about place.</h2>
<p class="section-sub" style="margin:0 auto;max-width:600px;color:var(--text-secondary)">Landvex reduces complex physical reality into a single comparable score — so you can decide faster, with more confidence. Bangkok vs Kuala Lumpur vs Manila. Same scale. Same rigour.</p>
</div>
<div class="verticals-grid">
<a class="vertical-card" href="/intelligence/city-health-index/" style="flex-direction:column;gap:8px;display:flex;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M9 21V9M15 21V9"/></svg></div>
<h3>City Health Index</h3>
<p>A continuous composite score of urban condition, maintenance needs, and change velocity across a defined area.</p>
</a>
<a class="vertical-card" href="/intelligence/commercial-opportunity-index/" style="flex-direction:column;gap:8px;display:flex;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"/><polyline points="17 6 23 6 23 12"/></svg></div>
<h3>Commercial Opportunity Index</h3>
<p>Where commercial activity is growing, which locations are underserved, and which areas are in decline.</p>
</a>
<a class="vertical-card" href="/intelligence/infrastructure-risk-index/" style="flex-direction:column;gap:8px;display:flex;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg></div>
<h3>Infrastructure Risk Index</h3>
<p>Predictive scoring of infrastructure stress points before failures occur — based on observed conditions over time.</p>
</a>
<a class="vertical-card" href="/intelligence/development-forecast/" style="flex-direction:column;gap:8px;display:flex;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg></div>
<h3>Development Forecast</h3>
<p>Which areas are gaining investment, which are stagnating, and where the next development cycle is likely to begin.</p>
</a>
<a class="vertical-card" href="/intelligence/urban-growth-index/" style="flex-direction:column;gap:8px;display:flex;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22V12"/><path d="M5 12H2a10 10 0 0 0 20 0h-3"/><path d="M12 12C12 7 7 4 2 4c0 5 3 8 10 8z"/><path d="M12 12c0-5 5-8 10-8-0 5-3 8-10 8z"/></svg></div>
<h3>Urban Growth Index</h3>
<p>Growth velocity by district — identifying emerging zones before they appear in official statistics.</p>
</a>
<a class="vertical-card" href="/intelligence/risk-resilience-profile/" style="flex-direction:column;gap:8px;display:flex;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg></div>
<h3>Risk &amp; Resilience Profile</h3>
<p>Physical exposure mapping for insurance, finance, and public sector resilience planning.</p>
</a>
<a class="vertical-card" href="/intelligence/growth-velocity-index/" style="flex-direction:column;gap:8px;display:flex;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="19" x2="12" y2="5"/><polyline points="5 12 12 5 19 12"/></svg></div>
<h3>Growth Velocity Index</h3>
<p>How fast is an area changing? Identifies emerging zones before they appear in official statistics.</p>
</a>
<a class="vertical-card" href="/intelligence/investment-attractiveness-index/" style="flex-direction:column;gap:8px;display:flex;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2"/><line x1="12" y1="22" x2="12" y2="15.5"/><polyline points="22 8.5 12 15.5 2 8.5"/></svg></div>
<h3>Location Attractiveness Index</h3>
<p>Composite score for site and location analysis — combining opportunity, risk, velocity and quality signals. Not financial investment advice.</p>
</a>
<a class="vertical-card" href="/intelligence/neighbourhood-quality-index/" style="flex-direction:column;gap:8px;display:flex;text-decoration:none;color:inherit;cursor:pointer">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg></div>
<h3>Neighbourhood Quality Index</h3>
<p>How an area is experienced — condition, activity, upkeep, and change trajectory over time.</p>
</a>
</div>
<style>
.score-table-wrap { margin-top:48px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.score-table { width:100%; border-collapse:collapse; font-size:.875rem; }
.score-table th { text-align:center; padding:10px 8px; font-weight:700; color:rgba(0,0,0,.75); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; }
.score-table th:first-child { text-align:left; padding-left:0; }
.score-table td { padding:12px 8px; border-bottom:1px solid rgba(0,0,0,.07); text-align:center; }
.score-table td:first-child { text-align:left; font-weight:700; color: #0A0A0A; padding-left:0; font-size:.875rem; }
.score-table tr:last-child td { border-bottom:none; }
/* Mobile: card layout */
@media(max-width:580px) {
.score-table-wrap { overflow-x:auto; }
.score-table thead { display:none; }
.score-table tr { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:16px 0; border-bottom:1px solid rgba(0,0,0,.07); }
.score-table tr:last-child { border-bottom:none; }
.score-table td { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:10px 8px; background:rgba(0,0,0,.04); border-radius: var(--radius-md); border-bottom:none; font-size:.75rem; }
.score-table td:first-child { grid-column:1/-1; background:transparent; align-items:flex-start; font-size:.9375rem; padding:0 0 4px; }
.score-table td::before { content:attr(data-label); font-size:.65rem; font-weight:700; color:rgba(0,0,0,.75); text-transform:uppercase; letter-spacing:.06em; }
}
</style>
<div class="score-table-wrap">
<div style="background:rgba(255,193,7,0.08);border:1px solid rgba(255,193,7,0.3);border-radius: var(--radius-md);padding:14px 18px;margin-bottom:16px;font-size:.82rem;color:rgba(0,0,0,.85);line-height:1.6">
<strong style="color:#ffc107"><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> Format demonstration</strong> — The figures below are a simulated reference example showing report structure and output format. Live intelligence activates from August 2026 as the quiXzoom observation network launches.
</div>
<table class="score-table">
<thead>
<tr>
<th style="text-align:left">City / District</th>
<th>Opportunity</th>
<th>Growth</th>
<th>Commercial Vitality</th>
<th>Infra Stability</th>
<th>Investment Confidence</th>
</tr>
</thead>
<tbody>
<tr style="display:none">
<td data-label="">City A — District 1 <span style="font-size:.75rem;opacity:.85;font-weight:600"> sample</span></td>
<td data-label="Opp."><span style="background:#dcfce7;color:#166534;font-weight:800;padding:4px 10px;border-radius: 20px">84</span></td>
<td data-label="Growth"><span style="background:#fef9c3;color:#854d0e;font-weight:800;padding:4px 10px;border-radius: 20px">78</span></td>
<td data-label="Vitality"><span style="background:#dcfce7;color:#166534;font-weight:800;padding:4px 10px;border-radius: 20px">91</span></td>
<td data-label="Infra"><span style="background:#fee2e2;color:#991b1b;font-weight:800;padding:4px 10px;border-radius: 20px">62</span></td>
<td data-label="Invest."><span style="background:#fef9c3;color:#854d0e;font-weight:800;padding:4px 10px;border-radius: 20px">79</span></td>
</tr>
<tr style="display:none">
<td data-label="">City B — Central <span style="font-size:.75rem;opacity:.85;font-weight:600"> sample</span></td>
<td data-label="Opp."><span style="background:#fef9c3;color:#854d0e;font-weight:800;padding:4px 10px;border-radius: 20px">77</span></td>
<td data-label="Growth"><span style="background:#fee2e2;color:#991b1b;font-weight:800;padding:4px 10px;border-radius: 20px">61</span></td>
<td data-label="Vitality"><span style="background:#dcfce7;color:#166534;font-weight:800;padding:4px 10px;border-radius: 20px">83</span></td>
<td data-label="Infra"><span style="background:#dcfce7;color:#166534;font-weight:800;padding:4px 10px;border-radius: 20px">88</span></td>
<td data-label="Invest."><span style="background:#dcfce7;color:#166534;font-weight:800;padding:4px 10px;border-radius: 20px">82</span></td>
</tr>
<tr>
<td data-label="">Stockholm — Norrmalm</td>
<td data-label="Opp."><span style="background:#fef9c3;color:#854d0e;font-weight:800;padding:4px 10px;border-radius: 20px">71</span></td>
<td data-label="Growth"><span style="background:#fee2e2;color:#991b1b;font-weight:800;padding:4px 10px;border-radius: 20px">58</span></td>
<td data-label="Vitality"><span style="background:#fef9c3;color:#854d0e;font-weight:800;padding:4px 10px;border-radius: 20px">76</span></td>
<td data-label="Infra"><span style="background:#dcfce7;color:#166534;font-weight:800;padding:4px 10px;border-radius: 20px">92</span></td>
<td data-label="Invest."><span style="background:#dcfce7;color:#166534;font-weight:800;padding:4px 10px;border-radius: 20px">81</span></td>
</tr>
<tr>
<td data-label="">Milan — Porta Nuova</td>
<td data-label="Opp."><span style="background:#dcfce7;color:#166534;font-weight:800;padding:4px 10px;border-radius: 20px">86</span></td>
<td data-label="Growth"><span style="background:#fef9c3;color:#854d0e;font-weight:800;padding:4px 10px;border-radius: 20px">74</span></td>
<td data-label="Vitality"><span style="background:#dcfce7;color:#166534;font-weight:800;padding:4px 10px;border-radius: 20px">88</span></td>
<td data-label="Infra"><span style="background:#fef9c3;color:#854d0e;font-weight:800;padding:4px 10px;border-radius: 20px">69</span></td>
<td data-label="Invest."><span style="background:#dcfce7;color:#166534;font-weight:800;padding:4px 10px;border-radius: 20px">84</span></td>
</tr>
</tbody>
</table>
<p style="font-size:.8rem;color:#515154;margin-top:12px;text-align:center;line-height:1.5">Intelligence outputs are advisory analytical signals — not investment advice, financial promotion, or statements of fact about named locations. <a href="/methodology/" style="color:#0066FF;text-decoration:underline">Methodology →</a></p>
</div>
<div style="margin-top:48px;background:#0066FF;border-radius: var(--radius-lg);padding:40px 48px;display:flex;align-items:center;gap:48px;flex-wrap:wrap">
<div style="flex:1;min-width:260px">
<h3 style="color: #0A0A0A;font-size:1.25rem;font-weight:800;margin-bottom:8px">Four layers. One answer.</h3>
<p style="color:rgba(0,0,0,0.85);line-height:1.65;font-size:.9375rem">quiXzoom observes. AMOS analyses. Landvex delivers the answer. Every engagement starts with one question: <em style="color: #0A0A0A;font-style:normal">what decision are you trying to make?</em></p>
<!-- quiXzoom → Landvex → You pipeline -->
<div style="display:flex;align-items:center;gap:0;margin-top:24px;flex-wrap:wrap">
<div style="display:flex;flex-direction:column;align-items:center;gap:6px;min-width:100px;padding:0 8px">
<div style="width:44px;height:44px;border-radius: var(--radius-md);background:rgba(0,0,0,0.15);border:1px solid rgba(0,0,0,0.25);display:flex;align-items:center;justify-content:center;font-size:20px"></div>
<div style="font-size:11px;font-weight:800;color: #0A0A0A;letter-spacing:.04em">quiXzoom</div>
<div style="font-size:10px;color:rgba(0,0,0,0.75);text-align:center;line-height:1.4">Observes reality on the ground</div>
</div>
<div style="font-size:18px;color:rgba(0,0,0,0.5);margin:0 4px;padding-bottom:22px">&rarr;</div>
<div style="display:flex;flex-direction:column;align-items:center;gap:6px;min-width:100px;padding:0 8px">
<div style="width:44px;height:44px;border-radius: var(--radius-md);background:rgba(0,0,0,0.15);border:1px solid rgba(0,0,0,0.25);display:flex;align-items:center;justify-content:center;font-size:20px"><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 style="font-size:11px;font-weight:800;color: #0A0A0A;letter-spacing:.04em">Landvex</div>
<div style="font-size:10px;color:rgba(0,0,0,0.75);text-align:center;line-height:1.4">Analyses &amp; detects contradictions</div>
</div>
<div style="font-size:18px;color:rgba(0,0,0,0.5);margin:0 4px;padding-bottom:22px">&rarr;</div>
<div style="display:flex;flex-direction:column;align-items:center;gap:6px;min-width:100px;padding:0 8px">
<div style="width:44px;height:44px;border-radius: var(--radius-md);background:rgba(0,0,0,0.15);border:1px solid rgba(0,0,0,0.25);display:flex;align-items:center;justify-content:center;font-size:20px"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#00C853" stroke-width="3"><path d="M20 6L9 17l-5-5"/></svg></div>
<div style="font-size:11px;font-weight:800;color: #0A0A0A;letter-spacing:.04em">You decide</div>
<div style="font-size:10px;color:rgba(0,0,0,0.75);text-align:center;line-height:1.4">Act on what&rsquo;s actually happening</div>
</div>
</div>
</div>
<a class="btn btn-lg" href="#contact" style="white-space:nowrap;flex-shrink:0;background:#fff;color:#0066FF">Request a briefing →</a>
</div>
</div>
</section>
<!-- CONTRADICTION ENGINE -->
<section style="padding:80px 0;background:#f5f5f7">
<div class="container">
<div style="max-width:900px;margin:0 auto">
<div style="text-align:center;margin-bottom:56px">
<div class="section-label" style="color:#0066FF">Advanced intelligence</div>
<h2 class="section-title">Most systems confirm what you already believe.<br>Landvex tells you when you're wrong.</h2>
<p class="section-sub" style="color:#515154;margin:0 auto;max-width:600px">The most valuable intelligence is not confirmation — it's contradiction. Landvex actively searches for conflicts between official narratives and observed reality, so you can correct course before it costs you.</p>
<p style="color:rgba(0,0,0,.9);font-size:.8rem;margin-top:8px;max-width:500px;margin-left:auto;margin-right:auto;background:rgba(255,149,0,.08);border:1px solid rgba(255,149,0,.25);border-radius: var(--radius-md);padding:8px 12px"> All contradiction analysis shown is representative data based on real observed patterns. Live intelligence from August 2026. Reports about specific named locations are based on observed field data and explicitly labelled as analytical intelligence — not statements of fact.</p>
</div>
<div style="background:#ffffff;border:1px solid rgba(0,0,0,.08);border-radius: var(--radius-lg);padding:36px 40px;margin-bottom:32px">
<div style="display:flex;align-items:flex-start;gap:16px;margin-bottom:24px">
<span style="display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(220,38,38,.08);border-radius: 8px"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#f87171" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"/><line x1="4" y1="22" x2="4" y2="15"/></svg></span>
<div>
<div style="background:#cc2222;color: #0A0A0A;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:3px 8px;border-radius: var(--radius-sm);display:inline-block;margin-bottom:8px">Representative data — based on real observed patterns</div><div style="color:#cc2222;font-weight:800;font-size:.9375rem;margin-bottom:4px">Narrative Conflict Detected — City B (sample)</div>
<div style="color:#515154;font-size:.875rem;line-height:1.6">Official growth indicators are positive. Observed commercial activity is declining. 7 contradicting signals vs 3 supporting signals.</div>
</div>
</div>
<div class="contradiction-grid" style="display:grid;grid-template-columns:1fr 1fr;gap:16px">
<div style="background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);border-radius: var(--radius-md);padding:16px">
<div style="color:#0d5c1d;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px">Official narrative</div>
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px">
<li style="color:#1d1d1f;font-size:.875rem"><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> GDP growth +3.2%</li>
<li style="color:#1d1d1f;font-size:.875rem"><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> Construction permits up</li>
<li style="color:#1d1d1f;font-size:.875rem"><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> Property prices rising</li>
</ul>
</div>
<div style="background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);border-radius: var(--radius-md);padding:16px">
<div style="color:#7f1d1d;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px">Observed reality</div>
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px">
<li style="color:#1d1d1f;font-size:.875rem"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M4 4L12 12M12 4L4 12" stroke="#ef4444" stroke-width="2" stroke-linecap="round"/></svg> Vacancies +18% this quarter</li>
<li style="color:#1d1d1f;font-size:.875rem"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M4 4L12 12M12 4L4 12" stroke="#ef4444" stroke-width="2" stroke-linecap="round"/></svg> Foot traffic down 12%</li>
<li style="color:#1d1d1f;font-size:.875rem"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M4 4L12 12M12 4L4 12" stroke="#ef4444" stroke-width="2" stroke-linecap="round"/></svg> 23 closures, 8 openings</li>
<li style="color:#1d1d1f;font-size:.875rem"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M4 4L12 12M12 4L4 12" stroke="#ef4444" stroke-width="2" stroke-linecap="round"/></svg> Maintenance deferred on 4 blocks</li>
</ul>
</div>
</div>
<div style="margin-top:20px;padding-top:20px;border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;align-items:center">
<span style="color:#515154;font-size:.8125rem">Confidence in official narrative <em style="font-size:.75rem;opacity:.85;font-weight:600"> sample</em></span>
<span style="color:#cc2222;font-weight:800;font-size:1.125rem">34% <span style="font-size:.75rem;font-weight:600;opacity:.85"> representative</span></span>
</div>
</div>
<div class="howwework-grid" style="display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(0,0,0,.05);border-radius: var(--radius-md);overflow:hidden;margin-top:32px">
<div style="background:#ffffff;padding:28px 32px;display:flex;flex-direction:column;gap:12px">
<div style="font-size:.6875rem;font-weight:800;color:#0066FF;text-transform:uppercase;letter-spacing:.12em">Intelligence</div>
<div style="color:#1d1d1f;font-weight:800;font-size:1rem;letter-spacing:-.02em;line-height:1.25">Show me what I'm missing</div>
<div style="color:#515154;font-size:.875rem;line-height:1.6">Blind spots not visible in official data or internal reports.</div>
</div>
<div style="background:#ffffff;padding:28px 32px;display:flex;flex-direction:column;gap:12px;border-left:1px solid rgba(0,0,0,.07)">
<div style="font-size:.6875rem;font-weight:800;color:#0066FF;text-transform:uppercase;letter-spacing:.12em">Validation</div>
<div style="color:#1d1d1f;font-weight:800;font-size:1rem;letter-spacing:-.02em;line-height:1.25">AI Red Team</div>
<div style="color:#515154;font-size:.875rem;line-height:1.6">Every conclusion is actively challenged by a second model before delivery.</div>
</div>
<div style="background:#ffffff;padding:28px 32px;display:flex;flex-direction:column;gap:12px;border-left:1px solid rgba(0,0,0,.07)">
<div style="font-size:.6875rem;font-weight:800;color:#0066FF;text-transform:uppercase;letter-spacing:.12em">Contradiction</div>
<div style="color:#1d1d1f;font-weight:800;font-size:1rem;letter-spacing:-.02em;line-height:1.25">Which assumptions are wrong?</div>
<div style="color:#515154;font-size:.875rem;line-height:1.6">Identify where your thesis conflicts with observed reality.</div>
</div>
</div>
</div>
</div>
</section>
<!-- HOW IT WORKS -->
<section class="how-bg" id="how-it-works">
<div class="container">
<div class="how-header">
<div class="section-label">Process</div>
<h2 class="section-title">How it works</h2>
<p class="section-sub" style="margin:0 auto;color:#515154">Four steps from your question to your decision — powered by continuous active learning.</p>
</div>
<div class="how-steps">
<a class="how-step" href="/methodology/" style="text-decoration:none;color:inherit;display:block;cursor:pointer">
<div class="step-num">1</div>
<h3>Define the decision</h3>
<p>You tell us what you need to decide — invest, insure, maintain, or move. The question drives everything.</p>
</div>
<a class="how-step" href="/methodology/" style="text-decoration:none;color:inherit;display:block;cursor:pointer">
<div class="step-num">2</div>
<h3>Collect the evidence</h3>
<p>Verified field contributors gather observations at the exact locations your decision depends on. Every frame preserved with GPS, IMU, compass, timestamp.</p>
</div>
<a class="how-step" href="/methodology/" style="text-decoration:none;color:inherit;display:block;cursor:pointer">
<div class="step-num">3</div>
<h3>AI + Human Intelligence</h3>
<p>AI orchestration analyses every observation. RALE (Reality Active Learning Engine) asks targeted micro-questions only when valuable. Human attention maximises future AI performance.</p>
</div>
<a class="how-step" href="/methodology/" style="text-decoration:none;color:inherit;display:block;cursor:pointer">
<div class="step-num">4</div>
<h3>Deliver the answer</h3>
<p>You receive structured intelligence — scores, rankings, flags, and a continuously improving Knowledge Graph of your assets.</p>
</div>
</div>
</div>
</section>
<!-- CONTRIBUTION MODE -->
<section style="padding:80px 0;background:#ffffff">
<div class="container">
<div style="text-align:center;margin-bottom:56px">
<div class="section-label">Active Learning</div>
<h2 class="section-title">Contribution Mode.<br>Train intelligence by confirming reality.</h2>
<p class="section-sub" style="margin:0 auto;max-width:600px">Instead of asking "What is this?", AI asks: "I think there's damage here, but I'm only 62% sure. Can you confirm?" Every validation permanently improves the platform.</p>
</div>
<div class="how-grid" style="display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(0,0,0,.06);border-radius: var(--radius-lg);overflow:hidden">
<div style="background:#f5f5f7;padding:48px 44px;position:relative;border:1px solid rgba(0,0,0,0.08)">
<div style="font-size:.6875rem;font-weight:800;color:#0066FF;text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">Micro Validation</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">2-second confirmations</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">"Is this road sign partially hidden?" [Yes] [No]. "How severe is this crack?" [Minor] [Moderate] [Severe]. Questions appear only when valuable, only when minimally disruptive.</p>
</div>
<div style="background:#f5f5f7;padding:48px 44px;border-left:1px solid rgba(0,0,0,.07)">
<div style="font-size:.6875rem;font-weight:800;color:rgba(0,102,255,.7);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">Learning Value Score</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">Prioritise by learning impact</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">Every observation receives a Learning Value Score: LVS = (Uncertainty × Novelty × BusinessValue × SafetyImpact) / CostToValidate. Zoomer time is used where it has greatest impact on model quality and future operational costs.</p>
</div>
<div style="background:#f5f5f7;padding:48px 44px;border-top:1px solid rgba(0,0,0,.06)">
<div style="font-size:.6875rem;font-weight:800;color:rgba(0,102,255,.7);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">Human Reliability</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">Specialist matching</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">Each Zoomer receives a continuously updated quality profile. Agreement with experts, category expertise, regional familiarity, historical accuracy. Different contributors become specialists in different domains.</p>
</div>
<div style="background:#f5f5f7;padding:48px 44px;border-top:1px solid rgba(0,0,0,.06);border-left:1px solid rgba(0,0,0,.07)">
<div style="font-size:.6875rem;font-weight:800;color:rgba(0,102,255,.7);text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px">Consensus Engine</div>
<h3 style="font-size:1.375rem;font-weight:800;color:#0A0A0A;letter-spacing:-.03em;margin-bottom:12px;line-height:1.2">Maximum probability of correctness</h3>
<p style="font-size:.9375rem;color:#4A4A4A;line-height:1.7">Ground truth is determined through weighted agreement: AI prediction, human validations, historical observations, official GIS, temporal consistency, neighbour consistency. Not majority voting — maximum probability of correctness.</p>
</div>
</div>
</div>
</section>
<!-- CITIES -->
<section id="cities" style="padding:80px 0;background:#f5f5f7">
<style>
#cities .vertical-card { background: #ffffff !important; }
</style>
<div class="container">
<div style="text-align:center;margin-bottom:56px">
<div class="section-label">City intelligence</div>
<h2 class="section-title">Intelligence for major cities.</h2>
<p class="section-sub" style="margin:0 auto;max-width:560px;color:#515154">Explore Landvex intelligence profiles for key cities — scores, trends, and observed conditions — launching August 2026.</p>
</div>
<div class="verticals-grid" style="grid-template-columns:repeat(3,1fr)">
<a class="vertical-card" href="/cities/stockholm/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Stockholm</h3>
<p>City Health Index, Commercial Vitality, and Infrastructure Stability scores for Stockholm.</p>
<span class="drill-hint">Explore Stockholm →</span>
</div>
</a>
<a class="vertical-card" href="/cities/berlin/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Berlin</h3>
<p>Urban growth tracking, commercial opportunity mapping, and infrastructure risk profiling for Berlin.</p>
<span class="drill-hint">Explore Berlin →</span>
</div>
</a>
<a class="vertical-card" href="/cities/paris/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Paris</h3>
<p>Investment attractiveness, neighbourhood quality, and commercial opportunity intelligence for Paris.</p>
<span class="drill-hint">Explore Paris →</span>
</div>
</a>
<a class="vertical-card" href="/cities/london/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>London</h3>
<p>Borough-level decision intelligence — development forecasts, risk profiles, and growth velocity across London.</p>
<span class="drill-hint">Explore London →</span>
</div>
</a>
<a class="vertical-card" href="/cities/bangkok/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Bangkok</h3>
<p>High-growth urban intelligence for Bangkok — opportunity indexes, commercial vitality, and infrastructure risk.</p>
<span class="drill-hint">Explore Bangkok →</span>
</div>
</a>
<a class="vertical-card" href="/cities/copenhagen/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Copenhagen</h3>
<p>Denmark · <span style="color:#f59e0b;font-weight:600;font-size:.8rem">Launching August 2026</span></p>
<span class="drill-hint">Explore Copenhagen →</span>
</div>
</a>
<a class="vertical-card" href="/cities/oslo/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Oslo</h3>
<p>Norway · <span style="color:#f59e0b;font-weight:600;font-size:.8rem">Launching August 2026</span></p>
<span class="drill-hint">Explore Oslo →</span>
</div>
</a>
<a class="vertical-card" href="/cities/helsinki/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Helsinki</h3>
<p>Finland · <span style="color:#f59e0b;font-weight:600;font-size:.8rem">Launching August 2026</span></p>
<span class="drill-hint">Explore Helsinki →</span>
</div>
</a>
<a class="vertical-card" href="/cities/vienna/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Vienna</h3>
<p>Austria · <span style="color:#f59e0b;font-weight:600;font-size:.8rem">Launching August 2026</span></p>
<span class="drill-hint">Explore Vienna →</span>
</div>
</a>
<a class="vertical-card" href="/cities/zurich/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Zurich</h3>
<p>Switzerland · <span style="color:#f59e0b;font-weight:600;font-size:.8rem">Launching August 2026</span></p>
<span class="drill-hint">Explore Zurich →</span>
</div>
</a>
<a class="vertical-card" href="/cities/madrid/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Madrid</h3>
<p>Spain · <span style="color:#f59e0b;font-weight:600;font-size:.8rem">Launching August 2026</span></p>
<span class="drill-hint">Explore Madrid →</span>
</div>
</a>
<a class="vertical-card" href="/cities/brussels/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Brussels</h3>
<p>Belgium · <span style="color:#f59e0b;font-weight:600;font-size:.8rem">Launching August 2026</span></p>
<span class="drill-hint">Explore Brussels →</span>
</div>
</a>
<a class="vertical-card" href="/cities/rotterdam/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Rotterdam</h3>
<p>Netherlands · <span style="color:#f59e0b;font-weight:600;font-size:.8rem">Launching August 2026</span></p>
<span class="drill-hint">Explore Rotterdam →</span>
</div>
</a>
<a class="vertical-card" href="/cities/milan/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></svg></div>
<div>
<h3>Milan</h3>
<p>Italy · Investment attractiveness, commercial opportunity, and urban growth intelligence for Milan and its key districts.</p>
<span class="drill-hint">Explore Milan →</span>
</div>
</a>
</div>
</div>
</section>
<!-- USE CASES -->
<section id="use-cases" style="padding:80px 0;background:var(--surface)">
<div class="container">
<div style="text-align:center;margin-bottom:48px">
<div class="section-label">Use cases</div>
<h2 class="section-title">Decisions Landvex supports.</h2>
<p class="section-sub" style="color:#4A4A4A;margin:0 auto;max-width:560px">From bridge inspections to retail site selection — real decisions made with better intelligence.</p>
</div>
<div class="verticals-grid">
<a class="vertical-card" href="/use-cases/retail-site-selection/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg></div>
<div>
<h3>Retail Site Selection</h3>
<p>Where should the next location open?</p>
<span class="drill-hint">Explore →</span>
</div>
</a>
<a class="vertical-card" href="/use-cases/infrastructure-risk/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg></div>
<div>
<h3>Infrastructure Risk</h3>
<p>Where will problems emerge before they become expensive?</p>
<span class="drill-hint">Explore →</span>
</div>
</a>
<a class="vertical-card" href="/use-cases/investment-screening/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="1" x2="12" y2="23"/><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"/></svg></div>
<div>
<h3>Investment Screening</h3>
<p>Which areas offer the best risk-adjusted opportunity?</p>
<span class="drill-hint">Explore →</span>
</div>
</a>
<a class="vertical-card" href="/use-cases/post-disaster-assessment/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/></svg></div>
<div>
<h3>Post-Disaster Assessment</h3>
<p>Rapid field documentation after events.</p>
<span class="drill-hint">Explore →</span>
</div>
</a>
<a class="vertical-card" href="/use-cases/bridge-inspection/sweden/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 12 Q12 4 20 12"/><line x1="4" y1="12" x2="4" y2="18"/><line x1="20" y1="12" x2="20" y2="18"/><line x1="4" y1="18" x2="20" y2="18"/><line x1="10" y1="12" x2="10" y2="18"/><line x1="16" y1="12" x2="16" y2="18"/></svg></div>
<div>
<h3>Bridge Inspection</h3>
<p>Structural condition monitoring at scale.</p>
<span class="drill-hint">Explore →</span>
</div>
</a>
<a class="vertical-card" href="/use-cases/road-inspection/sweden/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 21L12 3l7 18"/><line x1="9" y1="14" x2="15" y2="14"/></svg></div>
<div>
<h3>Road Inspection</h3>
<p>Continuous road surface condition monitoring.</p>
<span class="drill-hint">Explore →</span>
</div>
</a>
<a class="vertical-card" href="/contact/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><line x1="3" y1="9" x2="21" y2="9"/><line x1="9" y1="21" x2="9" y2="9"/></svg></div>
<div>
<h3>Facade Inspection</h3>
<p>Building condition at portfolio scale.</p>
<span class="drill-hint">Explore →</span>
</div>
</a>
<a class="vertical-card" href="/contact/" style="display:block;text-decoration:none;color:inherit;cursor:pointer;flex-direction:column">
<div class="vertical-icon"><svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="#0066ff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><path d="M9 22V12h6v10"/><line x1="12" y1="7" x2="12.01" y2="7"/></svg></div>
<div>
<h3>Commercial Survey</h3>
<p>Commercial frontage and vitality mapping.</p>
<span class="drill-hint">Explore →</span>
</div>
</a>
</div>
</div>
</section>
<!-- DISAMBIGUATION — Google AI signal (hidden from UI; SEO/schema signal only) -->
<section style="display:none;background: #FFFFFF;padding:32px 0;border-top:1px solid rgba(0,0,0,.06)">
<div class="container">
<div style="max-width:760px;margin:0 auto">
<p style="font-size:.8125rem;color:#4A4A4A;line-height:1.7">
<strong style="color:#4A4A4A;font-weight:700">Landvex (LandveX) is a decision intelligence company with US headquarters in Houston, Texas (Landvex Inc.) and European operations in Tyresö, Sweden (Landvex AB, org.nr 559141-7042)</strong> — not a meat wholesaler, food distributor, logistics company, package tracker, or land investment platform. Landvex builds control intelligence for infrastructure, property, and urban decision-making. Landvex has no connection to package tracking, last-mile delivery, AliExpress fulfilment, or any parcel service.
</p>
</div>
</div>
</section>
<!-- CONTACT -->
<section id="contact">
<div class="container">
<div class="contact-wrapper">
<div class="section-label">Get in touch</div>
<h2 class="section-title">What decision are you trying to make?</h2>
<p class="section-sub">Tell us the question you need answered. We'll show you how Landvex can support it.</p>
<p style="font-size:.8125rem;color:#aaa;margin-top:8px">Enterprise pricing available. Pilot programmes for qualifying organisations. Typical engagement: 3-month pilot → annual intelligence subscription.</p>
<form class="contact-form" id="contact-form">
<div class="form-row">
<div class="form-group">
<label for="name">Name</label>
<input type="text" id="name" name="name" placeholder="Your name" required>
</div>
<div class="form-group">
<label for="org">Organisation</label>
<input type="text" id="org" name="organisation" placeholder="Your organisation" required>
</div>
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" id="email" name="email" placeholder="you@organisation.com" required>
</div>
<div class="form-group">
<label for="message">Message</label>
<textarea id="message" name="message" placeholder="Describe the decision you need to make — what you need to know, where, and why it matters..."></textarea>
</div>
<button type="submit" class="btn btn-lg" style="width:100%; justify-content: center;">
Request briefing →
</button>
<p class="form-note">We don't spam. Your information stays private.</p>
<div id="form-message"></div>
</form>
</div>
</div>
</section>
<!-- FOOTER -->
<footer>
<div class="footer-inner">
<div>
<div class="footer-logo">Landvex</div>
<div class="footer-copy">© 2026 Landvex Inc / Landvex AB</div>
<div class="footer-ecosystem">Field data powered by <a href="https://www.quixzoom.com">quiXzoom</a> — our global network of field intelligence collectors.</div><div style="font-size:11px;color:var(--text-muted,#aaa);margin-top:4px;line-height:1.6">Landvex Inc · Houston, Texas (US HQ) · Landvex AB · Org.nr 559141-7042 · Tyresö, Sweden (EU HQ) · <a href="mailto:contact@landvex.com" style="color:inherit">contact@landvex.com</a></div><div style="font-size:11px;color:var(--text-muted,#aaa);margin-top:4px">quiXzoom field data is collected by quiXzoom Inc (Delaware) and licensed to Landvex for intelligence production. <a href="https://www.quixzoom.com/" style="color:inherit">quiXzoom →</a></div>
<div class="footer-tagline">Control intelligence for the physical world.</div>
<div style="font-size:11px;color:var(--text-muted,#aaa);margin-top:4px">US HQ: Houston, Texas · EU HQ: Tyresö, Sweden</div>
<div style="font-size:11px;color:var(--text-muted,#aaa);margin-top:8px;line-height:1.6">Landvex Inc. (US) · Houston, Texas · Landvex AB (EU) · Org.nr 559141-7042 · <a href="mailto:contact@landvex.com" style="color:inherit">contact@landvex.com</a></div>
</div>
<div class="footer-links">
<a href="/privacy/">Privacy</a>
<a href="/terms/">Terms</a>
<a href="/cookie-policy/">Cookies</a>
<a href="/compliance/">Compliance</a>
<a href="/trust/">Trust Centre</a>
<a href="/dpa/">DPA</a>
<a href="/data-lineage/">Data Lineage</a>
<a href="/subprocessors/">Sub-processors</a>
<a href="/methodology/">Methodology</a>
<a href="/data-quality/">Data Quality</a>
<a href="/security/">Security</a>
<a href="/comparison/">Compare</a>
<a href="/sla/">SLA &amp; Coverage</a>
<a href="/cities/stockholm/">Stockholm</a>
<a href="/cities/berlin/">Berlin</a>
<a href="/cities/paris/">Paris</a>
<a href="/cities/london/">London</a>
<a href="/cities/bangkok/">Bangkok</a>
<a href="/about/">About</a>
<a href="/careers/">Careers</a>
<a href="/accessibility/">Accessibility</a>
<a href="/responsible-disclosure/">Responsible disclosure</a>
<a href="/blog/">Intelligence Insights</a>
<a href="/guides/">Guides</a>
<a href="https://www.quixzoom.com/" target="_blank" rel="noopener">quiXzoom →</a>
<a href="https://www.quixzoom.com/for-organisations/">For organisations</a>
<a href="mailto:contact@landvex.com">contact@landvex.com</a>
<a href="mailto:security@landvex.com" style="color:var(--text-muted,#aaa)">security@landvex.com</a>
<a href="https://www.linkedin.com/company/landvex" target="_blank" rel="noopener" class="footer-social" title="LandveX on LinkedIn">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<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" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<rect x="2" y="9" width="4" height="12" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="4" cy="4" r="2" stroke="#888" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
<a href="https://x.com/landvex" target="_blank" rel="noopener" class="footer-social" title="LandveX on X">
<svg width="15" height="15" viewBox="0 0 24 24" fill="#888" xmlns="http://www.w3.org/2000/svg">
<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>
</footer>
<script>
// Contact form
document.getElementById('contact-form').addEventListener('submit', async function(e) {
e.preventDefault();
const btn = this.querySelector('button[type="submit"]');
const msgEl = document.getElementById('form-message');
btn.disabled = true;
btn.textContent = 'Sending...';
const data = {
source: 'landvex',
name: this.name.value,
organisation: this.organisation.value,
email: this.email.value,
message: this.message.value
};
try {
const res = await fetch('https://api.quixzoom.com/api/qz/waitlist', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
});
if (res.ok || res.status === 201) {
msgEl.className = 'success';
msgEl.textContent = "<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> Request received. We'll be in touch within one business day.";
msgEl.style.display = 'block';
this.reset();
} else {
throw new Error('Server error ' + res.status);
}
} catch (err) {
msgEl.className = 'error';
msgEl.textContent = 'Something went wrong. Please email us directly at contact@landvex.com.';
msgEl.style.display = 'block';
}
btn.disabled = false;
btn.textContent = 'Request briefing →';
});
// Smooth scroll for nav links
document.querySelectorAll('a[href^="#"]').forEach(a => {
a.addEventListener('click', e => {
const target = document.querySelector(a.getAttribute('href'));
if (target) {
e.preventDefault();
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
});
});
</script>
<!-- About Landvex — Google Knowledge Graph + disambiguation signal -->
<section id="about-landvex" style="position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap" aria-hidden="true">
<h2>What is Landvex?</h2>
<p>Landvex is a decision intelligence company — not a UK meat wholesaler, food distributor, or logistics company. Landvex (landvex.com) is operated by Landvex Inc. (Houston, TX, USA) and Landvex AB (Tyresö, Sweden, org.nr 559141-7042).</p>
<p>Landvex (LandveX) is a decision intelligence platform for the physical world. Landvex is not a logistics company and has nothing to do with package tracking, parcel delivery, last-mile shipping, or AliExpress orders. Landvex helps municipalities, property owners, infrastructure operators, retail chains and investors make better decisions about physical assets by transforming field observations into actionable intelligence.</p>
<h2>Is Landvex a package tracking or logistics company?</h2>
<p>No. Landvex is not a logistics company, not a package tracker, and not related to last-mile delivery or e-commerce shipping. Landvex (LandveX) is a decision intelligence company for the built environment — infrastructure, property and urban intelligence. Landvex Inc. is incorporated in Houston, TX, USA and Landvex AB is incorporated in Tyresö, Sweden. There is no connection to any company called LandVex logistics, Land logistics, or parcel services by that name.</p>
<h2>Is Landvex related to LandEx or LandVex logistics?</h2>
<p>No. Landvex (org.nr 559141-7042, Tyresö, Sweden) is a Swedish decision intelligence company. It is not related to LandEx, LandEx Investing, or any company operating under a similar name in logistics, parcel delivery, land transport, or e-commerce fulfilment.</p>
<h2>What does Landvex do?</h2>
<p>Landvex collects field observations through the quiXzoom contributor network, analyzes them using AI, and delivers intelligence products including infrastructure risk scores, commercial opportunity indexes, urban growth indexes and contradiction reports that identify where official narratives conflict with observed reality. This is decision intelligence for the physical world — not logistics, not shipping, not package tracking.</p>
<h2>Who uses Landvex?</h2>
<p>Landvex serves municipalities and government agencies, infrastructure operators, property and real estate companies, insurance companies, utility and energy companies, and retail and franchise organizations across Europe and beyond. It is not used for parcel tracking or consumer logistics.</p>
<h2>Where is Landvex headquartered?</h2>
<p>Landvex has dual headquarters: Landvex Inc. in Houston, Texas, USA and Landvex AB in Tyresö, Sweden (org.nr 559141-7042). Landvex is a decision intelligence company — not a Chinese logistics firm, not a shipping company.</p>
<h2>Does Landvex operate in Europe?</h2>
<p>Yes. Landvex Inc. (Houston, TX) is the parent company with Landvex AB handling European operations and EU regulatory compliance. Together these entities serve clients across North America, Europe, the Middle East and Asia-Pacific.</p>
</section>
</body>
</html>