1a12fb870b
- New /developers/ page with API docs, SDKs, pricing, use cases - OpenAPI 3.0 spec for Orders, Missions, Photos, Analytics - Case study: Glasskiosken i Flatenbadet — complete ROI analysis - Updated /order/ with recurring missions and frequency dropdown
594 lines
37 KiB
HTML
594 lines
37 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Growth Velocity Index — Landvex Intelligence</title>
|
||
<meta name="description" content="Measures the rate of observable change in a defined area — not just direction, but speed. Fast-changing areas carry both opportunity and risk.">
|
||
<link rel="canonical" href="https://www.landvex.com/intelligence/growth-velocity-index/">
|
||
<meta name="robots" content="index, follow">
|
||
<meta property="og:type" content="website">
|
||
<meta property="og:url" content="https://www.landvex.com/intelligence/growth-velocity-index/">
|
||
<meta property="og:title" content="Growth Velocity Index — Landvex Intelligence">
|
||
<meta property="og:description" content="Measures the rate of observable change in a defined area — not just direction, but speed. Fast-changing areas carry both opportunity and risk.">
|
||
<meta property="og:image" content="https://www.landvex.com/og-image.jpg">
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:title" content="Growth Velocity Index — Landvex">
|
||
<meta name="twitter:description" content="Measures the rate of observable change in a defined area — not just direction, but speed. Fast-changing areas carry both opportunity and risk.">
|
||
<meta name="twitter:image" content="https://www.landvex.com/og-image.jpg">
|
||
<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">
|
||
<script type="application/ld+json">{
|
||
"@context": "https://schema.org",
|
||
"@type": "WebPage",
|
||
"name": "Growth Velocity Index — Landvex",
|
||
"description": "Measures the rate of observable change in a defined area — not just direction, but speed. Fast-changing areas carry both opportunity and risk.",
|
||
"url": "https://www.landvex.com/intelligence/growth-velocity-index/",
|
||
"isPartOf": { "@type": "WebSite", "url": "https://www.landvex.com", "name": "Landvex" },
|
||
"publisher": { "@type": "Organization", "name": "Landvex", "url": "https://www.landvex.com" }
|
||
}</script>
|
||
<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.15);
|
||
--text-body: #3a3a3a;
|
||
--text-muted: #6B6B6B;
|
||
--text-light: #1d1d1f;
|
||
--text-dim: #6B6B6B;
|
||
--surface: #ffffff;
|
||
--surface-2: #f5f5f7;
|
||
--border: rgba(0,0,0,0.08);
|
||
--radius-sm: 8px;
|
||
--radius-md: 14px;
|
||
--radius-lg: 24px;
|
||
}
|
||
html { scroll-behavior: smooth; }
|
||
body {
|
||
font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Helvetica Neue', sans-serif;
|
||
background: var(--bg-dark);
|
||
color: var(--text-light);
|
||
line-height: 1.6;
|
||
-webkit-font-smoothing: antialiased;
|
||
}
|
||
a { color: inherit; text-decoration: none; }
|
||
nav {
|
||
position: fixed; top: 0; left: 0; right: 0; z-index: 100;
|
||
display: flex; align-items: center; justify-content: space-between;
|
||
padding: 0 40px; height: 64px;
|
||
background: rgba(255,255,255,0.88);
|
||
backdrop-filter: blur(16px);
|
||
-webkit-backdrop-filter: blur(16px);
|
||
border-bottom: 1px solid var(--border);
|
||
}
|
||
.nav-logo {
|
||
font-size: 18px;
|
||
font-weight: 700;
|
||
letter-spacing: -0.3px;
|
||
color: #1d1d1f; }
|
||
.nav-links { display: flex; gap: 32px; list-style: none; }
|
||
.nav-links a { font-size: 14px; color: var(--text-dim); transition: color 0.2s; }
|
||
.nav-links a:hover { color: #1d1d1f; }
|
||
.btn {
|
||
display: inline-flex; align-items: center; gap: 6px;
|
||
padding: 10px 22px;
|
||
background: var(--blue); color: #1d1d1f;
|
||
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 {
|
||
background: transparent;
|
||
border: 1.5px solid rgba(0,0,0,0.18);
|
||
color: var(--text-light);
|
||
}
|
||
.btn-outline:hover { background: rgba(0,0,0,0.04); transform: translateY(-1px); }
|
||
.btn-lg { padding: 14px 30px; font-size: 16px; }
|
||
.hero {
|
||
min-height: 80vh;
|
||
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 {
|
||
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 {
|
||
font-size: clamp(36px, 6vw, 68px); font-weight: 800;
|
||
letter-spacing: -2px; line-height: 1.05; color: #1d1d1f;
|
||
max-width: 820px; margin-bottom: 24px;
|
||
}
|
||
.hero-sub {
|
||
font-size: clamp(16px, 2vw, 19px); color: var(--text-dim);
|
||
max-width: 640px; line-height: 1.65; margin-bottom: 40px;
|
||
}
|
||
.hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
|
||
.container { max-width: 1140px; margin: 0 auto; }
|
||
section { padding: 80px 24px; }
|
||
.section-label {
|
||
font-size: 12px; font-weight: 700; letter-spacing: 0.1em;
|
||
text-transform: uppercase; color: var(--blue); margin-bottom: 16px;
|
||
}
|
||
.section-title {
|
||
font-size: clamp(26px, 3.5vw, 40px); font-weight: 800;
|
||
letter-spacing: -1px; line-height: 1.1; color: #1d1d1f; margin-bottom: 16px;
|
||
}
|
||
.section-title-light { color: #0a0a0a; }
|
||
.section-sub { font-size: 17px; color: var(--text-dim); max-width: 560px; line-height: 1.7; }
|
||
.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: var(--text-dim); }
|
||
.form-group input, .form-group textarea {
|
||
background: var(--bg-dark); border: 1.5px solid var(--border);
|
||
border-radius: var(--radius-md); color: #1d1d1f; 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: var(--text-muted); }
|
||
.form-group textarea { min-height: 120px; resize: vertical; }
|
||
.form-note { font-size: 12px; color: var(--text-muted); 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 { border-top: 1px solid var(--border); padding: 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: #1d1d1f; }
|
||
.footer-copy { font-size: 13px; color: var(--text-muted); }
|
||
.footer-tagline { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
|
||
.footer-links { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
|
||
.footer-links a { font-size: 14px; color: var(--text-muted); transition: color 0.2s; }
|
||
.footer-links a:hover { color: #1d1d1f; }
|
||
.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); }
|
||
@media (max-width: 900px) {
|
||
nav { padding: 0 20px; }
|
||
.nav-links { display: none; }
|
||
}
|
||
@media (max-width: 600px) {
|
||
section { padding: 48px 0 !important; }
|
||
.container { padding: 0 16px !important; box-sizing: border-box; }
|
||
.form-row { grid-template-columns: 1fr !important; }
|
||
.contact-form { padding: 24px 20px; }
|
||
.footer-inner { flex-direction: column; text-align: center; }
|
||
[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
|
||
[style*="grid-template-columns:repeat(auto-fit,minmax(300px"] { grid-template-columns: 1fr !important; }
|
||
[style*="grid-template-columns:repeat(auto-fit,minmax(260px"] { grid-template-columns: 1fr !important; }
|
||
}
|
||
|
||
.lv-disclaimer{font-size:.75rem;color:rgba(0,0,0,.75);margin-top:24px;padding:12px 16px;background:rgba(0,0,0,.04);border-radius: var(--radius-md);line-height:1.6;max-width:800px}
|
||
.lv-disclaimer a{color:rgba(0,0,0,.65);text-decoration:underline}
|
||
.lv-disclaimer--light{color:#888;background:#f5f5f5}
|
||
.lv-disclaimer--light a{color:#555}
|
||
</style>
|
||
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "BreadcrumbList",
|
||
"itemListElement": [
|
||
{
|
||
"@type": "ListItem",
|
||
"position": 1,
|
||
"name": "Landvex",
|
||
"item": "https://www.landvex.com/"
|
||
},
|
||
{
|
||
"@type": "ListItem",
|
||
"position": 2,
|
||
"name": "Intelligence",
|
||
"item": "https://www.landvex.com/intelligence/"
|
||
},
|
||
{
|
||
"@type": "ListItem",
|
||
"position": 3,
|
||
"name": "Growth Velocity Index",
|
||
"item": "https://www.landvex.com/intelligence/growth-velocity-index/"
|
||
}
|
||
]
|
||
}
|
||
</script>
|
||
<link rel="alternate" hreflang="x-default" href="https://www.landvex.com/">
|
||
<link rel="alternate" hreflang="en" href="https://www.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/">
|
||
</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><a href="/methodology/">Methodology</a></li>
|
||
<li><a href="/security/">Security</a></li>
|
||
<li><a href="#contact">Contact</a></li>
|
||
</ul>
|
||
<a class="btn btn-outline" href="#contact">Request a briefing →</a>
|
||
</nav>
|
||
|
||
<!-- HERO (dark) -->
|
||
<section class="hero">
|
||
<div class="hero-eyebrow">Intelligence Index · Landvex</div>
|
||
<h1>How fast is change happening here?</h1>
|
||
<p class="hero-sub">Measures the rate of observable change in a defined area — not just direction, but speed. Fast-changing areas carry both opportunity and risk.</p>
|
||
<div class="hero-ctas">
|
||
<a class="btn btn-lg" href="#contact">Request a briefing →</a>
|
||
<a class="btn btn-outline btn-lg" href="#dimensions">See dimensions</a>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- DIMENSIONS (white/light section) -->
|
||
<section id="dimensions" style="background:#fff;padding:80px 24px">
|
||
<div class="container">
|
||
<div style="text-align:center;margin-bottom:52px">
|
||
<div class="section-label" style="color:var(--blue)">What we measure</div>
|
||
<h2 class="section-title section-title-light">Five dimensions of intelligence.</h2>
|
||
<p class="section-sub" style="color:#6b7280;margin:0 auto">Each index is built from five independently observed and scored dimensions — combined into a single comparable score.</p>
|
||
</div>
|
||
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px">
|
||
|
||
<div style="background:#f8f9ff;border:1px solid #e5e7eb;border-radius: var(--radius-md);padding:24px 28px;cursor:pointer" onclick="location.href='#contact'" role="button" tabindex="0">
|
||
<div style="font-size:1.5rem;margin-bottom:10px"></div>
|
||
<h3 style="font-size:1rem;font-weight:700;color:#0a0a0a;margin-bottom:6px">Change rate (commercial)</h3>
|
||
<p style="font-size:.875rem;color:#6b7280;line-height:1.6">Speed of commercial turnover — openings, closures, category shifts and brand mix changes.</p>
|
||
</div>
|
||
|
||
<div style="background:#f8f9ff;border:1px solid #e5e7eb;border-radius: var(--radius-md);padding:24px 28px;cursor:pointer" onclick="location.href='#contact'" role="button" tabindex="0">
|
||
<div style="font-size:1.5rem;margin-bottom:10px"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M2 14H14M4 14V8L8 4L12 8V14" stroke="#666" stroke-width="1.5" stroke-linejoin="round"/><path d="M6 14V10H10V14" stroke="#666" stroke-width="1.5"/></svg></div>
|
||
<h3 style="font-size:1rem;font-weight:700;color:#0a0a0a;margin-bottom:6px">Change rate (physical)</h3>
|
||
<p style="font-size:.875rem;color:#6b7280;line-height:1.6">Rate of physical transformation — construction, demolition, renovation and public realm works.</p>
|
||
</div>
|
||
|
||
<div style="background:#f8f9ff;border:1px solid #e5e7eb;border-radius: var(--radius-md);padding:24px 28px;cursor:pointer" onclick="location.href='#contact'" role="button" tabindex="0">
|
||
<div style="font-size:1.5rem;margin-bottom:10px"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#0066FF" stroke-width="2"><path d="M18 20V10"/><path d="M12 20V4"/><path d="M6 20v-6"/></svg></div>
|
||
<h3 style="font-size:1rem;font-weight:700;color:#0a0a0a;margin-bottom:6px">Trend acceleration</h3>
|
||
<p style="font-size:.875rem;color:#6b7280;line-height:1.6">Whether the rate of change is itself accelerating or decelerating — a second-order velocity signal.</p>
|
||
</div>
|
||
|
||
<div style="background:#f8f9ff;border:1px solid #e5e7eb;border-radius: var(--radius-md);padding:24px 28px;cursor:pointer" onclick="location.href='#contact'" role="button" tabindex="0">
|
||
<div style="font-size:1.5rem;margin-bottom:10px"></div>
|
||
<h3 style="font-size:1rem;font-weight:700;color:#0a0a0a;margin-bottom:6px">Volatility score</h3>
|
||
<p style="font-size:.875rem;color:#6b7280;line-height:1.6">Consistency of change direction — high volatility means rapid oscillation between positive and negative signals.</p>
|
||
</div>
|
||
|
||
<div style="background:#f8f9ff;border:1px solid #e5e7eb;border-radius: var(--radius-md);padding:24px 28px;cursor:pointer" onclick="location.href='#contact'" role="button" tabindex="0">
|
||
<div style="font-size:1.5rem;margin-bottom:10px"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M8 2L10 8L14 9L8 14L6 8L2 7L8 2Z" fill="#666"/></svg></div>
|
||
<h3 style="font-size:1rem;font-weight:700;color:#0a0a0a;margin-bottom:6px">Momentum indicators</h3>
|
||
<p style="font-size:.875rem;color:#6b7280;line-height:1.6">Leading signals that suggest the current change rate will continue — or is about to reverse.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- USE CASES (light grey) -->
|
||
<section style="background:#f8f9ff;padding:64px 24px">
|
||
<div class="container">
|
||
<div style="max-width:760px;margin:0 auto;text-align:center">
|
||
<div class="section-label">Use cases</div>
|
||
<h2 class="section-title section-title-light" style="margin-bottom:24px">Who uses this index.</h2>
|
||
<div style="display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:40px">
|
||
<span style="background:#e0eaff;color:#0052cc;font-size:.8125rem;font-weight:600;padding:6px 14px;border-radius: 100px">Timing investment decisions</span>
|
||
<span style="background:#e0eaff;color:#0052cc;font-size:.8125rem;font-weight:600;padding:6px 14px;border-radius: 100px">Early market entry</span>
|
||
<span style="background:#e0eaff;color:#0052cc;font-size:.8125rem;font-weight:600;padding:6px 14px;border-radius: 100px">Risk-adjusted expansion</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- SAMPLE OUTPUT (dark) -->
|
||
<section style="background:var(--surface);padding:80px 24px">
|
||
<div class="container">
|
||
<div style="max-width:700px;margin:0 auto;text-align:center">
|
||
<div class="section-label">Sample output</div>
|
||
<h2 class="section-title" style="margin-bottom:8px">What you receive.</h2>
|
||
<p style="color:var(--text-dim);margin-bottom:48px">Velocity score + acceleration signal + volatility rating</p>
|
||
<div style="background:var(--surface-2);border:1px solid var(--border);border-radius: var(--radius-lg);padding:36px 40px;text-align:left">
|
||
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:8px">
|
||
<span style="color:var(--text-dim);font-size:.875rem;font-weight:600">Sample location · Placeholder score</span>
|
||
<span style="color:#4ade80;font-size:.875rem;font-weight:700">↑ Accelerating</span>
|
||
</div>
|
||
<div style="display:flex;align-items:center;gap:16px;margin-bottom:4px">
|
||
<span style="font-size:3rem;font-weight:800;color: #1d1d1f;letter-spacing:-2px">83</span>
|
||
<span style="font-size:1.5rem;color:var(--text-dim)">/100</span>
|
||
</div>
|
||
|
||
<div style="background:#f3f4f6;border-radius: var(--radius-md);height:12px;width:100%;margin:12px 0 8px;overflow:hidden">
|
||
<div style="height:100%;width:83%;background:#4ade80;border-radius: var(--radius-md);transition:width 1s ease"></div>
|
||
</div>
|
||
|
||
<div style="display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-dim)">
|
||
<span>Critical</span><span>Moderate</span><span>Strong</span>
|
||
</div>
|
||
<div style="margin-top:28px;padding-top:20px;border-top:1px solid var(--border);font-size:.8125rem;color:var(--text-dim)">
|
||
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#f59e0b" stroke-width="2"><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> Placeholder values for illustration. Live intelligence from August 2026.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- CONTRADICTION ENGINE (dark blue) -->
|
||
<section style="background:#001836;padding:80px 24px">
|
||
<div class="container">
|
||
<div style="max-width:800px;margin:0 auto">
|
||
<div style="text-align:center;margin-bottom:48px">
|
||
<div class="section-label" style="color:rgba(255,255,255,.75)">Advanced intelligence</div>
|
||
<h2 class="section-title">How this index detects narrative conflicts.</h2>
|
||
<p style="color:rgba(255,255,255,.75);max-width:600px;margin:0 auto;line-height:1.7">Growth Velocity Index detects when official economic release cycles lag observable reality. GDP and business register data typically reflects conditions 6–18 months in the past. When field velocity indicators diverge sharply from the most recent official statistics, the contradiction engine quantifies the gap and adjusts the forward-looking velocity forecast.</p>
|
||
</div>
|
||
<div style="background:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.1);border-radius: var(--radius-lg);padding:32px 36px">
|
||
<div style="display:flex;align-items:flex-start;gap:16px;margin-bottom:24px">
|
||
<span style="font-size:1.5rem"></span>
|
||
<div>
|
||
<div style="color:#f87171;font-weight:800;font-size:.9375rem;margin-bottom:4px">Contradiction Engine — How it works</div>
|
||
<div style="color:rgba(255,255,255,.75);font-size:.875rem;line-height:1.6">Field observations are continuously cross-referenced against official records, registers, and published statistics. Divergence above threshold triggers a conflict flag.</div>
|
||
</div>
|
||
</div>
|
||
<div style="display:grid;grid-template-columns:1fr 1fr;gap:16px">
|
||
<div style="background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);border-radius: var(--radius-md);padding:16px">
|
||
<div style="color:#86efac;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px">Official record</div>
|
||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px">
|
||
<li style="color:rgba(255,255,255,.7);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> Published condition ratings</li>
|
||
<li style="color:rgba(255,255,255,.7);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> Official statistics</li>
|
||
<li style="color:rgba(255,255,255,.7);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> Register data</li>
|
||
</ul>
|
||
</div>
|
||
<div style="background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius: var(--radius-md);padding:16px">
|
||
<div style="color:#fca5a5;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:rgba(255,255,255,.7);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> Field observations</li>
|
||
<li style="color:rgba(255,255,255,.7);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> Real-time signals</li>
|
||
<li style="color:rgba(255,255,255,.7);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> Contradiction flags</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- RELATED INDEXES (white) -->
|
||
<section style="background:#fff;padding:80px 24px">
|
||
<div class="container">
|
||
<div style="text-align:center;margin-bottom:48px">
|
||
<div class="section-label">Related intelligence</div>
|
||
<h2 class="section-title section-title-light">Explore related indexes.</h2>
|
||
</div>
|
||
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:20px;max-width:900px;margin:0 auto">
|
||
|
||
<a href="/intelligence/urban-growth-index/" style="display:block;background:#f8f9ff;border:1px solid #e5e7eb;border-radius: var(--radius-md);padding:20px 24px;text-decoration:none;color:inherit;transition:border-color .2s,transform .15s" onmouseover="this.style.borderColor='#0066ff';this.style.transform='translateY(-2px)'" onmouseout="this.style.borderColor='#e5e7eb';this.style.transform='none'">
|
||
<div style="font-size:1.25rem;margin-bottom:8px"></div>
|
||
<div style="font-weight:700;color:#0a0a0a;font-size:.9375rem;margin-bottom:4px">Urban Growth Index</div>
|
||
<div style="color:#0066ff;font-size:.8125rem;font-weight:700">View index →</div>
|
||
</a>
|
||
|
||
<a href="/intelligence/investment-attractiveness-index/" style="display:block;background:#f8f9ff;border:1px solid #e5e7eb;border-radius: var(--radius-md);padding:20px 24px;text-decoration:none;color:inherit;transition:border-color .2s,transform .15s" onmouseover="this.style.borderColor='#0066ff';this.style.transform='translateY(-2px)'" onmouseout="this.style.borderColor='#e5e7eb';this.style.transform='none'">
|
||
<div style="font-size:1.25rem;margin-bottom:8px"></div>
|
||
<div style="font-weight:700;color:#0a0a0a;font-size:.9375rem;margin-bottom:4px">Investment Attractiveness Index</div>
|
||
<div style="color:#0066ff;font-size:.8125rem;font-weight:700">View index →</div>
|
||
</a>
|
||
|
||
<a href="/intelligence/commercial-opportunity-index/" style="display:block;background:#f8f9ff;border:1px solid #e5e7eb;border-radius: var(--radius-md);padding:20px 24px;text-decoration:none;color:inherit;transition:border-color .2s,transform .15s" onmouseover="this.style.borderColor='#0066ff';this.style.transform='translateY(-2px)'" onmouseout="this.style.borderColor='#e5e7eb';this.style.transform='none'">
|
||
<div style="font-size:1.25rem;margin-bottom:8px"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M2 12L6 8L9 11L14 5" stroke="#22c55e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M10 5H14V9" stroke="#22c55e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></div>
|
||
<div style="font-weight:700;color:#0a0a0a;font-size:.9375rem;margin-bottom:4px">Commercial Opportunity Index</div>
|
||
<div style="color:#0066ff;font-size:.8125rem;font-weight:700">View index →</div>
|
||
</a>
|
||
</div>
|
||
<div style="text-align:center;margin-top:40px">
|
||
<a href="/" style="color:var(--blue);font-weight:700;font-size:.9375rem">← Back to Landvex</a>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- CONTACT (dark) -->
|
||
<section id="contact" style="background: var(--bg-dark);padding:80px 24px">
|
||
<div class="container">
|
||
<div style="max-width:680px;margin:0 auto;text-align:center">
|
||
<div class="section-label">Get in touch</div>
|
||
<h2 class="section-title">Request a briefing.</h2>
|
||
<p class="section-sub" style="margin:0 auto 40px">Tell us the question you need answered. We'll show you how this index applies to your decision.</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="email">Email</label>
|
||
<input type="email" id="email" name="email" placeholder="you@organisation.com" required>
|
||
</div>
|
||
</div>
|
||
<div class="form-group">
|
||
<label for="message">Message</label>
|
||
<textarea id="message" name="message" placeholder="Describe your question or decision — location, context, what you need to know..."></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>
|
||
|
||
<p class="lv-disclaimer">Intelligence outputs are indicative and advisory only. Based on field observations — not investment, financial or legal advice. Landvex AB accepts no liability for decisions made based on these outputs. <a href="/methodology/">Methodology →</a></p>
|
||
</section>
|
||
|
||
<!-- FOOTER -->
|
||
<footer>
|
||
<div class="footer-container" style="max-width:1200px;margin:0 auto;padding:48px 24px 32px;">
|
||
<!-- Main Footer Grid -->
|
||
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:48px;">
|
||
|
||
<!-- Column 1: Products -->
|
||
<div>
|
||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Produkter</h4>
|
||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||
<li><a href="/infrastructure-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">VIMS</a></li>
|
||
<li><a href="/intelligence/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence</a></li>
|
||
<li><a href="/reality-alerts/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Reality Alerts</a></li>
|
||
<li><a href="/enterprise/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Enterprise</a></li>
|
||
<li><a href="/pilot/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Pilotprogram</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<!-- Column 2: Solutions -->
|
||
<div>
|
||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Lösningar</h4>
|
||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||
<li><a href="/verticals/bridge-inspection/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Broinspektion</a></li>
|
||
<li><a href="/verticals/road-monitoring/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Vägövervakning</a></li>
|
||
<li><a href="/verticals/infrastructure/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Infrastruktur</a></li>
|
||
<li><a href="/verticals/utilities/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Utilities</a></li>
|
||
<li><a href="/use-cases/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Användningsfall</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<!-- Column 3: Resources -->
|
||
<div>
|
||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Resurser</h4>
|
||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||
<li><a href="/blog/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Intelligence Insights</a></li>
|
||
<li><a href="/guides/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Guider</a></li>
|
||
<li><a href="/developers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Developer API</a></li>
|
||
<li><a href="/status/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Systemstatus</a></li>
|
||
<li><a href="/reports/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Rapporter</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<!-- Column 4: Company -->
|
||
<div>
|
||
<h4 style="font-size:13px;font-weight:600;color:#0A0A0A;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;">Företag</h4>
|
||
<ul style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;">
|
||
<li><a href="/about/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Om oss</a></li>
|
||
<li><a href="/careers/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Karriär</a></li>
|
||
<li><a href="/press/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Press</a></li>
|
||
<li><a href="/contact/" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">Kontakt</a></li>
|
||
<li><a href="https://www.quixzoom.com" target="_blank" rel="noopener" style="font-size:13px;color:#6E6E73;text-decoration:none;transition:color 0.2s;">quiXzoom →</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Divider -->
|
||
<div style="border-top:1px solid #E5E5E5;padding-top:32px;">
|
||
|
||
<!-- Legal & Compliance Row -->
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;margin-bottom:24px;">
|
||
<div style="display:flex;flex-wrap:wrap;gap:16px 24px;">
|
||
<a href="/privacy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Privacy</a>
|
||
<a href="/terms/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Terms</a>
|
||
<a href="/cookie-policy/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Cookies</a>
|
||
<a href="/compliance/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Compliance</a>
|
||
<a href="/trust/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Trust Centre</a>
|
||
<a href="/dpa/" style="font-size:12px;color:#6E6E73;text-decoration:none;">DPA</a>
|
||
<a href="/sla/" style="font-size:12px;color:#6E6E73;text-decoration:none;">SLA</a>
|
||
<a href="/security/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Security</a>
|
||
<a href="/accessibility/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Accessibility</a>
|
||
<a href="/responsible-disclosure/" style="font-size:12px;color:#6E6E73;text-decoration:none;">Responsible Disclosure</a>
|
||
</div>
|
||
<div style="display:flex;gap:16px;">
|
||
<a href="https://www.linkedin.com/company/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="LinkedIn">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"/><rect x="2" y="9" width="4" height="12"/><circle cx="4" cy="4" r="2"/></svg>
|
||
</a>
|
||
<a href="https://x.com/landvex" target="_blank" rel="noopener" style="color:#6E6E73;" title="X">
|
||
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.746l7.73-8.835L1.254 2.25H8.08l4.253 5.622 5.912-5.622Zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Company Info Row -->
|
||
<div style="display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;">
|
||
<div>
|
||
<div style="font-size:12px;color:#86868B;line-height:1.6;">
|
||
<strong style="color:#0A0A0A;">Landvex Inc.</strong> · Houston, Texas · USA<br>
|
||
<strong style="color:#0A0A0A;">Landvex AB</strong> · Org.nr 559141-7042 · Stockholm, Sweden · EU<br>
|
||
<a href="mailto:contact@landvex.com" style="color:#86868B;text-decoration:none;">contact@landvex.com</a> ·
|
||
<a href="mailto:security@landvex.com" style="color:#86868B;text-decoration:none;">security@landvex.com</a>
|
||
</div>
|
||
<div style="font-size:11px;color:#86868B;margin-top:8px;line-height:1.5;">
|
||
Field data powered by <a href="https://www.quixzoom.com" style="color:#86868B;text-decoration:underline;">quiXzoom</a> ·
|
||
<a href="/data-lineage/" style="color:#86868B;text-decoration:underline;">Data Lineage</a> ·
|
||
<a href="/subprocessors/" style="color:#86868B;text-decoration:underline;">Sub-processors</a> ·
|
||
<a href="/methodology/" style="color:#86868B;text-decoration:underline;">Methodology</a>
|
||
</div>
|
||
</div>
|
||
<div style="font-size:12px;color:#86868B;">
|
||
© 2026 Landvex Inc / Landvex AB. All rights reserved.
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<script>
|
||
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-intelligence',
|
||
index: 'growth-velocity-index',
|
||
name: this.name.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 at contact@landvex.com.';
|
||
msgEl.style.display = 'block';
|
||
}
|
||
btn.disabled = false; btn.textContent = 'Request briefing →';
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |