:root {
  --ink: #050809;
  --carbon: #0a0f11;
  --panel: #0e1517;
  --line: rgba(197, 220, 218, .18);
  --line-bright: rgba(197, 220, 218, .36);
  --paper: #edf0eb;
  --mist: #bac8c5;
  --muted: #7f9290;
  --orange: #ff5a1f;
  --orange-light: #ff7b3e;
  --signal: #A7BF62;
  --signal-ink: #121707;
  --signal-dark: #66783a;
  --teal: var(--signal);
  --teal-dim: var(--signal-dark);
  --max: 1280px;
  --body: "Funnel Sans", "Avenir Next", Avenir, "Trebuchet MS", sans-serif;
  --mono: "Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; color: var(--paper); background: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; overflow-x: clip; }
a { color: inherit; }
button { font: inherit; }
img { display: block; max-width: 100%; }
::selection { color: var(--ink); background: var(--teal); }
.shell { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 99; left: 1rem; top: -5rem; padding: .75rem 1rem; background: var(--teal); color: #001815; font-weight: 800; text-decoration: none; border-radius: 0 0 .4rem .4rem; }
.skip-link:focus { top: 0; }
:focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; }

.site-header { position: sticky; top: 0; z-index: 20; background: rgba(5, 8, 9, .91); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.nav-shell { min-height: 79px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.brand { display: inline-flex; align-items: center; min-width: 0; gap: .72rem; text-decoration: none; }
.brand img { width: 43px; height: 43px; flex: 0 0 auto; border-radius: 11px; box-shadow: 0 0 0 1px rgba(255,255,255,.12); }
.brand span { display: grid; line-height: 1; }
.brand b { letter-spacing: .105em; font-size: 1.05rem; font-weight: 800; }
.brand small { margin-top: .36rem; color: var(--muted); font-family: var(--mono); letter-spacing: .13em; font-size: .52rem; font-weight: 800; }
.site-nav { display: flex; align-items: center; flex-wrap: nowrap; gap: clamp(.75rem, 1.6vw, 1.5rem); }
.site-nav > a:not(.button) { color: var(--mist); font-size: .91rem; text-decoration: none; transition: color .2s ease; }
.site-nav > a:not(.button):hover { color: var(--teal); }
.language-switch { display: flex; align-items: center; gap: .32rem; color: #506361; font: 700 .72rem var(--mono); }
.language-switch a { padding: .25rem; color: #71817f; font: inherit; text-decoration: none; }
.language-switch a[aria-current="page"] { color: var(--paper); }
.menu-button { display: none; width: 44px; height: 40px; border: 1px solid var(--line); border-radius: .25rem; background: transparent; color: var(--paper); cursor: pointer; }
.menu-button i { display: block; width: 18px; height: 1px; margin: 4px auto; background: currentColor; transition: transform .2s ease; }
.button, .store-button { display: inline-flex; justify-content: center; align-items: center; min-height: 49px; border: 1px solid transparent; border-radius: 3px; padding: .78rem 1.03rem; font: 800 .72rem/1 var(--mono); letter-spacing: .085em; text-align: center; text-decoration: none; transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease; }
.button:hover, .store-button:hover { transform: translateY(-2px); }
.button:active, .store-button:active { transform: translateY(0); }
.button-nav { min-height: 40px; padding: .65rem .78rem; }
.button-orange { background: var(--orange); color: #1a0a05; box-shadow: 6px 6px 0 rgba(177,52,13,.45); }
.button-orange:hover { background: var(--orange-light); }
.button-teal, .button-demo { background: var(--signal); color: var(--signal-ink); box-shadow: 6px 6px 0 var(--signal-dark); }
.button-demo:hover { background: #bbd472; transform: translate(-1px,-1px); box-shadow: 8px 8px 0 var(--signal-dark); }
.button-outline { color: var(--paper); border-color: var(--line-bright); background: rgba(5,8,9,.25); }
.button-outline:hover { border-color: var(--teal); color: var(--teal); }
.store-button { gap: .66rem; min-width: 164px; padding: .45rem 1rem; background: var(--paper); color: #071012; box-shadow: 6px 6px 0 rgba(139, 152, 144, .15); }
.store-button svg { width: 25px; height: 29px; fill: currentColor; }
.store-button span { display: grid; justify-items: start; gap: .18rem; }
.store-button small { font: 800 .47rem/1 var(--mono); letter-spacing: .06em; }
.store-button b { font-size: .9rem; line-height: 1; letter-spacing: .015em; }
.store-button[aria-disabled="true"] { opacity: .56; cursor: not-allowed; }
.store-button-wide { min-width: 186px; }
.cta-note { margin: .65rem 0 0; color: #8aa09c; font: .72rem var(--mono); }
.has-store-link .cta-note { display: none; }

.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .38; background-image: linear-gradient(90deg, rgba(123,181,178,.09) 1px, transparent 1px), linear-gradient(rgba(123,181,178,.07) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to bottom, black 10%, transparent 78%); pointer-events: none; }
.hero-scan { position: absolute; width: 55vw; height: 55vw; right: -12vw; top: -16vw; border: 1px solid rgba(0,207,194,.2); border-radius: 50%; box-shadow: 0 0 0 76px rgba(0,207,194,.03), 0 0 0 152px rgba(0,207,194,.024), 0 0 0 228px rgba(0,207,194,.018); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; min-height: 620px; gap: clamp(1.5rem,5vw,5rem); padding-block: 5.8rem 4.4rem; }
.hero-copy { max-width: 575px; }
.signal { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1.25rem; color: var(--teal); font: 800 .68rem var(--mono); letter-spacing: .12em; }
.signal > span:first-child { width: 7px; height: 7px; border-radius: 100%; background: var(--teal); box-shadow: 0 0 13px var(--teal); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--body); font-weight: 800; letter-spacing: -.058em; line-height: .94; }
h1 { margin-bottom: 1.55rem; font-size: clamp(3.2rem, 6.1vw, 6.1rem); }
h2 { font-size: clamp(2.8rem, 5.1vw, 5rem); }
h1 em, h2 em { color: var(--orange); font-style: normal; }
.lede { max-width: 500px; margin-bottom: 2.15rem; color: var(--mist); font-size: clamp(1.03rem, 1.6vw, 1.22rem); line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem; }
.hero-image { position: relative; margin: 0; align-self: stretch; min-height: 430px; border: 1px solid rgba(0,207,194,.45); background: #071012; box-shadow: 18px 18px 0 rgba(0, 207, 194, .09), 0 22px 55px rgba(0,0,0,.45); overflow: hidden; }
.hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(0,207,194,.17), transparent 35%, rgba(255,90,31,.19)); mix-blend-mode: screen; pointer-events: none; }
.hero-image img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; filter: saturate(1.14) contrast(1.06); }
.hero-image figcaption { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: .8rem; padding: .78rem .95rem; color: #cde3df; background: rgba(5,8,9,.82); border-top: 1px solid var(--line); font: 700 .61rem var(--mono); letter-spacing: .08em; }
.proof-line { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--line); border-bottom: 0; }
.proof-line p { display: grid; gap: .45rem; min-height: 95px; margin: 0; padding: 1.1rem 1.25rem; border-right: 1px solid var(--line); }
.proof-line p:last-child { border-right: 0; }
.proof-line strong { color: var(--teal); font: 800 .64rem var(--mono); letter-spacing: .105em; }
.proof-line span { color: var(--mist); font-size: .84rem; }

.section-dark { background: var(--carbon); }
.proof-section { border-bottom: 1px solid var(--line); }
.proof-layout { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: clamp(2rem,7vw,8.5rem); padding-block: clamp(5rem,11vw,9rem); }
.section-heading .eyebrow, .platform-copy .eyebrow { margin-bottom: 1.35rem; color: var(--teal); font: 800 .72rem var(--mono); letter-spacing: .13em; }
.section-heading h2 { margin-bottom: 0; }
.boundary-card { position: relative; min-height: 390px; padding: 2rem; border: 1px solid rgba(0,207,194,.3); background: radial-gradient(circle at 72% 31%, rgba(0,207,194,.13), transparent 25%), #0a1214; overflow: hidden; }
.boundary-orbit { position: absolute; top: 50%; left: 55%; width: 390px; height: 390px; border: 1px solid rgba(0,207,194,.24); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 50px rgba(0,207,194,.022), 0 0 0 100px rgba(0,207,194,.019); }
.boundary-label { position: relative; z-index: 1; display: grid; gap: .35rem; width: fit-content; padding: .85rem 1rem; background: var(--teal); color: #031816; box-shadow: 5px 5px 0 #00726b; font-family: var(--mono); }
.boundary-label span { font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.boundary-label b { font-size: .85rem; }
.boundary-card ul { position: relative; z-index: 1; display: grid; gap: 1.25rem; max-width: 430px; margin: 2.7rem 0 0; padding: 0; list-style: none; }
.boundary-card li { display: flex; gap: .8rem; color: var(--paper); font-size: .98rem; }
.check { display: grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; color: #031816; background: var(--teal); font: 900 .76rem var(--mono); }
.boundary-stamp { position: absolute; z-index: 1; right: 1.6rem; bottom: 1.45rem; display: flex; align-items: center; gap: .55rem; color: var(--orange); font: 800 .61rem/1.35 var(--mono); letter-spacing: .08em; }
.boundary-stamp > span:first-child { font-size: 1.7rem; }

.viewer-section { background: var(--paper); color: #111b1c; }
.viewer-layout { display: grid; grid-template-columns: 1fr .32fr; gap: 2.1rem; padding-block: clamp(5rem,9vw,8rem); }
.viewer-panel { border: 1px solid #82918e; background: #f5f6f0; box-shadow: 14px 14px 0 #ced5cc; }
.panel-chrome { display: flex; align-items: center; gap: .32rem; min-height: 45px; padding: 0 .85rem; border-bottom: 1px solid #aebbb6; background: #dfe4dc; color: #52615e; font: 800 .58rem var(--mono); letter-spacing: .1em; }
.panel-chrome span { width: 8px; height: 8px; border-radius: 50%; background: #9eaea9; }.panel-chrome span:first-child{background:var(--orange)}.panel-chrome b{margin-left:.45rem}
.panel-content { padding: clamp(2rem,5vw,4.2rem); background: linear-gradient(130deg, rgba(0,207,194,.12), transparent 40%), repeating-linear-gradient(0deg, transparent 0 39px, rgba(42,71,68,.09) 40px); }
.panel-content .signal { color: #087e77; }.panel-content .signal > span:first-child { background:#087e77; box-shadow:none; }.panel-content h2 { margin-bottom: 1.3rem; color:#142526; }.panel-content h2 em{color:var(--orange)}
.panel-content p:not(.signal) { max-width: 510px; margin-bottom: 2rem; color: #47605d; font-size: 1.04rem; }
.viewer-specs { display: grid; grid-template-columns: repeat(3,1fr); margin: 0; border-top: 1px solid #aebbb6; }.viewer-specs div { min-width: 0; padding: 1.15rem; border-right:1px solid #aebbb6; }.viewer-specs div:last-child{border-right:0}.viewer-specs dt{margin-bottom:.55rem;color:#637370;font:800 .58rem var(--mono);letter-spacing:.1em}.viewer-specs dd{margin:0;color:#112324;font-size:.9rem;font-weight:800}
.viewer-note { display: flex; flex-direction: column; justify-content: space-between; padding: 1.5rem 0; border-top: 3px solid var(--orange); }.note-number { color:var(--orange);font:800 1rem var(--mono); }.viewer-note p{margin:2rem 0;color:#263a39;font-size:1.1rem;line-height:1.45}.viewer-note small{color:#59706c;font: .71rem/1.5 var(--mono)}
.showcase-built{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.68fr);gap:1px;margin-top:1rem;border:1px solid #aebbb6;background:#aebbb6}.showcase-built figure{display:grid;align-content:start;margin:0;padding:.75rem;background:#eef1eb}.showcase-built img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;background:#081011}.showcase-built-main img{aspect-ratio:1280/829}.showcase-built-detail img{aspect-ratio:4/3}.showcase-built figcaption{padding:.75rem .15rem .2rem;color:#435754;font:800 .66rem/1.4 var(--mono)}

.fieldwork{padding-block:clamp(5rem,10vw,9rem);border-bottom:1px solid var(--line)}.fieldwork-head{display:grid;grid-template-columns:1fr .55fr;align-items:end;gap:clamp(2rem,7vw,8rem);margin-bottom:3.2rem}.fieldwork-head h2{margin-bottom:0}.fieldwork-head>p{max-width:490px;margin:0 0 .4rem;color:var(--mist);font-size:1.05rem}.media-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);gap:1px;border:1px solid var(--line);background:var(--line)}.media-card{position:relative;margin:0;padding:1rem;background:#080d0f;overflow:hidden}.media-card video{display:block;width:100%;height:auto;background:#020404;border:1px solid rgba(255,255,255,.08)}.media-card-wide video{aspect-ratio:4/3;object-fit:cover}.media-card-phone video{max-height:680px;aspect-ratio:443/960;object-fit:cover;margin-inline:auto}.media-card figcaption{display:grid;gap:.32rem;padding:1rem .2rem .2rem}.media-card figcaption span{color:var(--teal);font:800 .59rem var(--mono);letter-spacing:.1em}.media-card figcaption b{font-size:.9rem}

.capabilities { padding-block: clamp(5rem,10vw,9rem); }.centered{text-align:center}.centered .eyebrow{margin-bottom:1.35rem}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:4.2rem;border:1px solid var(--line);background:var(--line)}.capability-card{min-height:320px;padding:1.55rem;background:var(--carbon);transition:background .2s ease}.capability-card:hover{background:#0e191a}.cap-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(0,207,194,.5);color:var(--teal);font:1.65rem var(--mono)}.cap-section{border-color:rgba(255,90,31,.6);color:var(--orange)}.cap-colour{display:flex;gap:3px;align-items:flex-end;padding:7px}.cap-colour i{width:7px;height:22px;background:#276aff}.cap-colour i:nth-child(2){height:29px;background:var(--teal)}.cap-colour i:nth-child(3){height:18px;background:#b8e85a}.cap-colour i:nth-child(4){height:34px;background:var(--orange)}.card-index{margin:3.7rem 0 1.2rem;color:#617775;font:800 .65rem var(--mono)}.capability-card h3{margin-bottom:.7rem;font-size:1.22rem;letter-spacing:-.025em}.capability-card p:last-child{color:var(--mist);font-size:.91rem;line-height:1.55}
.point-cloud-gallery{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.72fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:1px;margin-top:clamp(2.5rem,6vw,5rem);border:1px solid var(--line);background:var(--line)}.gallery-frame{display:grid;grid-template-rows:minmax(0,1fr) auto;margin:0;padding:.75rem;background:#070c0d;overflow:hidden}.gallery-frame-main{grid-row:span 2}.gallery-frame img{display:block;width:100%;height:100%;min-height:220px;object-fit:cover;background:#030607}.gallery-frame-main img{min-height:520px}.gallery-frame figcaption{padding:.8rem .15rem .15rem;color:#aebcac;font:800 .64rem/1.4 var(--mono)}

.platforms{color:#172122;background:#e9eeea}.platforms-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(2rem,6vw,7rem);align-items:center;padding-block:clamp(5rem,9vw,8rem)}.platform-copy h2{margin-bottom:1.5rem;color:#151e20}.platform-copy h2 em{color:#087d77}.platform-copy>p:not(.eyebrow){max-width:510px;margin-bottom:2.2rem;color:#536663;font-size:1.06rem}.platform-copy .eyebrow{color:#087d77}.platform-list{margin:0;padding:0;border-top:1px solid #b7c4bd;list-style:none}.platform-list li{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:.7rem;align-items:center;min-height:78px;border-bottom:1px solid #b7c4bd}.platform-symbol{display:grid;place-items:center;width:31px;height:31px;border:1px solid #98a9a2;border-radius:7px;color:#183332;font:1rem var(--mono)}.platform-symbol.android{color:#9a6400;border-color:#b78731}.platform-list span:nth-child(2){display:grid;gap:.16rem}.platform-list b{font-size:1rem}.platform-list small{color:#687974;font-size:.75rem}.status{padding:.36rem .43rem;border:1px solid #6a9d99;color:#087d77;font:800 .55rem var(--mono);letter-spacing:.08em;font-style:normal;white-space:nowrap}.status.next{border-color:#c79432;color:#926000}.status.development{border-color:#91a19d;color:#60716d}.device-stage{position:relative;min-height:520px}.stage-axis{position:absolute;background:#b8c4be}.stage-axis.x{top:50%;left:0;width:100%;height:1px}.stage-axis.y{top:0;left:50%;width:1px;height:100%}.ipad-shot,.iphone-shot{position:absolute;margin:0;background:#172225;box-shadow:0 26px 45px rgba(37,59,53,.24);overflow:hidden}.ipad-shot{top:15%;left:2%;width:76%;border:7px solid #1c292c;border-radius:20px}.iphone-shot{top:1%;right:1%;width:33%;border:7px solid #182427;border-radius:30px}.ipad-shot img{aspect-ratio:1.334;object-fit:cover}.iphone-shot img{aspect-ratio:.46;object-fit:cover}.ipad-shot figcaption,.iphone-shot figcaption{display:none}.core-tag{position:absolute;bottom:3%;left:12%;display:flex;align-items:center;gap:.65rem;padding:.72rem .9rem;background:#102023;color:var(--paper);border:1px solid rgba(0,207,194,.55);box-shadow:0 12px 23px rgba(0,0,0,.2)}.core-tag>span{color:var(--teal);font-size:1.22rem}.core-tag p{display:grid;gap:.15rem;margin:0}.core-tag b{font:800 .59rem var(--mono);letter-spacing:.1em}.core-tag small{color:#9bb3ae;font:.56rem var(--mono)}

.closing{position:relative;overflow:hidden;border-block:1px solid var(--line);background:radial-gradient(circle at 70% 48%,#122b2a 0, #081011 33%,var(--ink) 70%)}.closing-content{position:relative;z-index:1;padding-block:clamp(5.5rem,10vw,9rem)}.closing .signal{color:var(--teal)}.closing-content h2{max-width:920px;margin-bottom:1.45rem}.closing-content>p:not(.signal):not(.cta-note){max-width:620px;margin-bottom:2.2rem;color:var(--mist);font-size:1.11rem}.closing-orbit{position:absolute;border:1px solid rgba(0,207,194,.19);border-radius:50%;pointer-events:none}.closing-orbit.one{width:620px;height:620px;top:-140px;right:-170px}.closing-orbit.two{width:460px;height:460px;top:-54px;right:-90px;border-color:rgba(255,90,31,.23)}
.site-footer{background:#030607}.footer-layout{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:112px}.site-footer .brand img{width:36px;height:36px}.site-footer .brand b{font-size:.92rem}.site-footer p{margin:0;color:#71817e;font:.72rem var(--mono)}.site-footer nav{display:flex;gap:1.1rem}.site-footer nav a{color:#b6c4c0;font:.73rem var(--mono);text-decoration:none}.site-footer nav a:hover{color:var(--teal)}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (max-width: 980px){.site-nav{gap:.8rem}.site-nav>a:not(.button){display:none}.hero-grid,.proof-layout,.platforms-layout{grid-template-columns:1fr}.hero-grid{padding-top:4.8rem}.hero-copy{max-width:670px}.hero-image{min-height:360px}.hero-image img{min-height:360px}.proof-layout{gap:3rem}.viewer-layout{grid-template-columns:1fr}.viewer-note{max-width:580px;padding:1.3rem 0}.viewer-note p{margin:1.2rem 0}.capability-grid{grid-template-columns:repeat(2,1fr)}.device-stage{min-height:560px;max-width:700px;width:100%;justify-self:center}.platform-copy{max-width:640px}}
@media (max-width: 640px){.shell{width:min(calc(100% - 32px),var(--max))}.site-header{backdrop-filter:none}.nav-shell{min-height:66px}.brand img{width:36px;height:36px;border-radius:9px}.brand b{font-size:.91rem}.brand small{font-size:.46rem}.menu-button{display:block}.site-nav{position:absolute;top:66px;right:0;left:0;display:none;align-items:stretch;gap:0;padding:.75rem 1rem 1rem;background:#081012;border-bottom:1px solid var(--line)}.site-nav.is-open{display:grid}.site-nav>a:not(.button){display:block;padding:.8rem .25rem;border-bottom:1px solid var(--line)}.language-switch{padding:.85rem 0}.button-nav{margin-top:.25rem}.hero-grid{min-height:0;padding-block:4rem 3rem;gap:2.8rem}h1{font-size:clamp(3rem,15.4vw,4.65rem)}h2{font-size:clamp(2.7rem,12.6vw,4rem)}.hero-image{min-height:250px}.hero-image img{min-height:250px}.hero-image figcaption{font-size:.52rem}.proof-line{grid-template-columns:1fr}.proof-line p{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.proof-line p:last-child{border-bottom:0}.proof-layout{padding-block:4.6rem}.boundary-card{min-height:430px;padding:1.2rem}.boundary-card ul{margin-top:2.25rem}.boundary-stamp{right:1.1rem;bottom:1.1rem}.viewer-layout{padding-block:4.7rem}.panel-content{padding:2rem 1.35rem}.viewer-specs{grid-template-columns:1fr}.viewer-specs div{border-right:0;border-bottom:1px solid #aebbb6}.viewer-specs div:last-child{border-bottom:0}.capabilities{padding-block:4.8rem}.capability-grid{grid-template-columns:1fr;margin-top:2.7rem}.capability-card{min-height:230px}.card-index{margin:1.8rem 0 1rem}.platforms-layout{padding-block:4.8rem}.platform-list li{grid-template-columns:34px minmax(0,1fr);padding-block:.8rem}.status{grid-column:2}.device-stage{min-height:390px}.ipad-shot{top:20%;border-width:5px;border-radius:13px}.iphone-shot{border-width:5px;border-radius:19px}.core-tag{left:4%;bottom:1%;padding:.57rem .65rem}.core-tag small{font-size:.48rem}.closing-content{padding-block:5rem}.closing-orbit.one{right:-420px}.site-footer .footer-layout{align-items:flex-start;flex-direction:column;padding-block:1.5rem}.site-footer nav{width:100%;justify-content:space-between;gap:.5rem}.site-footer p{font-size:.64rem}.reveal{opacity:1;transform:none;transition:none}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.store-button{transition:none}}

.platform-visuals{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:end;gap:1rem}.platform-visuals .device-stage{min-width:0}.ipad-shot img,.iphone-shot img{width:100%;height:auto}.android-peek{position:relative;margin:0 0 1rem;padding:.45rem;background:#142022;border:1px solid #708780;box-shadow:0 18px 35px rgba(37,59,53,.2);overflow:hidden}.android-peek img{width:100%;height:420px;object-fit:cover;object-position:top;border-radius:10px}.android-peek figcaption{display:grid;gap:.25rem;padding:.7rem .3rem .25rem;color:#e8efeb}.android-peek figcaption span{color:#c9a34d;font:800 .48rem var(--mono);letter-spacing:.06em}.android-peek figcaption b{font-size:.66rem;line-height:1.3}

.contact-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2rem,8vw,9rem);padding-block:clamp(5rem,10vw,9rem)}.contact-copy .eyebrow{margin-bottom:1.35rem;color:var(--teal);font:800 .72rem var(--mono);letter-spacing:.13em}.contact-copy h2{margin-bottom:1.4rem}.contact-copy>p:not(.eyebrow){max-width:510px;color:var(--mist);font-size:1.03rem}.contact-promise{display:grid;grid-template-columns:30px 1fr;gap:1rem .8rem;margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid var(--line)}.contact-promise>span{color:var(--orange);font:800 .7rem var(--mono)}.contact-promise p{display:grid;gap:.25rem;margin:0}.contact-promise b{font-size:.88rem}.contact-promise small{color:var(--muted);font-size:.73rem}.lead-form{padding:clamp(1.4rem,4vw,2.4rem);border:1px solid rgba(0,207,194,.32);background:linear-gradient(135deg,rgba(0,207,194,.08),transparent 36%),#0a1214;box-shadow:14px 14px 0 rgba(0,207,194,.07)}.form-status-line{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.8rem;padding-bottom:.85rem;border-bottom:1px solid var(--line);color:var(--teal);font:800 .62rem var(--mono);letter-spacing:.1em}.lead-form>label:not(.consent),.lead-form fieldset{display:grid;gap:.52rem;margin:0 0 1.15rem}.lead-form label>span,.lead-form legend{color:#bed0cd;font:800 .64rem var(--mono);letter-spacing:.06em}.lead-form input[type="email"],.lead-form input[type="text"],.lead-form textarea{width:100%;border:1px solid var(--line-bright);border-radius:2px;padding:.85rem .9rem;color:var(--paper);background:#071012;font:inherit;resize:vertical}.lead-form input:focus,.lead-form textarea:focus{border-color:var(--teal);outline:2px solid rgba(0,207,194,.25);outline-offset:0}.lead-form fieldset{padding:0;border:0}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem}.choice-grid label{position:relative;display:block}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.choice-grid span{display:block;padding:.67rem .75rem;border:1px solid var(--line);color:var(--mist);background:#071012;cursor:pointer;font:700 .72rem var(--mono)}.choice-grid input:checked+span{border-color:var(--teal);color:#001916;background:var(--teal)}.choice-grid input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}.consent{display:flex;align-items:flex-start;gap:.65rem;margin:.8rem 0;color:var(--mist);cursor:pointer}.consent input{flex:0 0 auto;width:17px;height:17px;margin-top:.12rem;accent-color:var(--teal)}.consent span{font:normal .78rem/1.4 var(--body)!important;letter-spacing:0!important}.form-actions{display:flex;align-items:center;gap:1rem;margin-top:1.5rem}.form-actions button{cursor:pointer}.form-actions button:disabled{opacity:.55;cursor:wait}.form-actions a{color:var(--teal);font:.68rem var(--mono)}.form-note,.form-feedback{margin:.9rem 0 0;color:var(--muted);font:.66rem/1.5 var(--mono)}.form-feedback{min-height:1em}.form-feedback[data-kind="success"]{color:var(--teal)}.form-feedback[data-kind="error"]{color:#ff9a77}

@media (max-width:980px){.fieldwork-head,.contact-layout{grid-template-columns:1fr}.fieldwork-head{align-items:start;gap:1.5rem}.platform-visuals{max-width:760px;margin-inline:auto}.contact-copy{max-width:700px}}
@media (max-width:640px){.showcase-built,.point-cloud-gallery{grid-template-columns:1fr;grid-template-rows:auto}.showcase-built-detail img{aspect-ratio:1280/830}.gallery-frame-main{grid-row:auto}.gallery-frame img,.gallery-frame-main img{min-height:0;aspect-ratio:4/3}.media-grid{grid-template-columns:1fr}.media-card-phone video{max-height:620px}.platform-visuals{grid-template-columns:1fr}.android-peek{width:min(240px,72vw);margin:0 auto}.choice-grid{grid-template-columns:1fr}.form-actions{align-items:flex-start;flex-direction:column}.lead-form{box-shadow:7px 7px 0 rgba(0,207,194,.07)}}

/* Approved Survey Lime launch accents. */
.hero-scan { border-color:rgba(167,191,98,.22); box-shadow:0 0 0 76px rgba(167,191,98,.035),0 0 0 152px rgba(167,191,98,.028),0 0 0 228px rgba(167,191,98,.02); }
.hero-image { border-color:rgba(167,191,98,.45); box-shadow:18px 18px 0 rgba(167,191,98,.09),0 22px 55px rgba(0,0,0,.45); }
.hero-image::after { background:linear-gradient(115deg,rgba(167,191,98,.18),transparent 35%,rgba(255,90,31,.19)); }
.boundary-card { border-color:rgba(167,191,98,.32); background:radial-gradient(circle at 72% 31%,rgba(167,191,98,.14),transparent 25%),#0a1214; }
.boundary-orbit { border-color:rgba(167,191,98,.25); box-shadow:0 0 0 50px rgba(167,191,98,.025),0 0 0 100px rgba(167,191,98,.02); }
.panel-content { background:linear-gradient(130deg,rgba(167,191,98,.12),transparent 40%),repeating-linear-gradient(0deg,transparent 0 39px,rgba(66,78,42,.09) 40px); }
.panel-content .signal,.platform-copy h2 em,.platform-copy .eyebrow,.status.available { color:var(--signal-dark); }
.panel-content .signal > span:first-child { background:var(--signal-dark); }
.boundary-label,.check,.choice-grid input:checked + span { color:var(--signal-ink); background:var(--signal); }
.boundary-label { box-shadow:5px 5px 0 var(--signal-dark); }
.cap-icon,.core-tag { border-color:rgba(167,191,98,.55); }
.closing-orbit { border-color:rgba(167,191,98,.2); }
.lead-form { border-color:rgba(167,191,98,.34); background:linear-gradient(135deg,rgba(167,191,98,.09),transparent 36%),#0a1214; box-shadow:14px 14px 0 rgba(167,191,98,.07); }
.lead-form input:focus,.lead-form textarea:focus { outline-color:rgba(167,191,98,.26); }

@media (max-width:640px){.lead-form{box-shadow:7px 7px 0 rgba(167,191,98,.07)}}

.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1.15rem; }
.form-grid label { display:grid; align-content:start; gap:.52rem; min-width:0; }
.lead-form input[type="tel"],.lead-form select { width:100%; min-height:51px; border:1px solid var(--line-bright); border-radius:2px; padding:.85rem .9rem; color:var(--paper); background:#071012; font:inherit; }
.lead-form select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--signal) 50%),linear-gradient(135deg,var(--signal) 50%,transparent 50%); background-position:calc(100% - 17px) 21px,calc(100% - 12px) 21px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.lead-form input[type="tel"]:focus,.lead-form select:focus { border-color:var(--signal); outline:2px solid rgba(167,191,98,.26); outline-offset:0; }
.consent a { color:var(--signal); text-underline-offset:3px; }
.form-feedback[data-kind="progress"] { color:var(--mist); }
.turnstile-slot { min-height:65px; margin-top:1rem; overflow:hidden; }

@media (max-width:640px){.form-grid{grid-template-columns:1fr}}

.acquisition-hero .hero-grid,
.acquisition-proof .proof-layout,
.acquisition-workflow .proof-layout,
.media-gallery .viewer-layout,
.limitation-note .proof-layout,
.faq-list .proof-layout,
.acquisition-cta .closing-content { min-width: 0; }
.acquisition-hero { background:
  radial-gradient(circle at 82% 20%, rgba(167,191,98,.12), transparent 24%),
  linear-gradient(180deg, rgba(167,191,98,.05), transparent 24%);
}
.acquisition-hero .hero-grid { grid-template-columns: minmax(0, .96fr) minmax(320px, 1.04fr); min-height: min(100dvh, 860px); padding-block: clamp(4.8rem, 8vw, 6.4rem) clamp(3.9rem, 5vw, 4.9rem); gap: clamp(2rem, 4vw, 4.5rem); }
.acquisition-hero .hero-copy { min-width: 0; max-width: 560px; }
.acquisition-hero h1 { font-size: clamp(3rem, 4.5vw, 4rem); letter-spacing: -.045em; }
.acquisition-hero .hero-actions { gap: .8rem; }
.acquisition-hero .hero-actions > * { flex: 0 0 auto; }
.acquisition-hero .hero-image { min-height: 0; aspect-ratio: 1.16; }
.acquisition-hero .hero-image img { min-height: 0; }
.acquisition-page .section-heading > p:not(.eyebrow) { max-width: 28rem; margin: .95rem 0 0; color: var(--muted); font: .72rem/1.6 var(--mono); letter-spacing: .04em; }
.acquisition-proof .proof-layout,
.acquisition-workflow .proof-layout,
.limitation-note .proof-layout,
.faq-list .proof-layout { align-items: start; grid-template-columns: minmax(0, .54fr) minmax(0, 1.46fr); }
.acquisition-proof .proof-line { grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line); background: var(--line); }
.acquisition-proof .proof-line p { min-height: 0; align-content: start; padding: 1.35rem 1.2rem 1.45rem; background: #0b1112; }
.acquisition-proof .proof-line strong { color: var(--signal); }
.workflow-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); background: var(--line); }
.workflow-steps li { display: grid; grid-template-columns: auto 1fr; align-content: start; gap: .95rem; min-height: 174px; padding: 1.4rem 1.25rem 1.55rem; background: #0b1112; }
.workflow-steps strong { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border: 1px solid rgba(167,191,98,.45); color: var(--signal); font: 800 .92rem var(--mono); }
.workflow-steps span { color: var(--paper); font-size: .97rem; line-height: 1.52; }
.media-gallery.viewer-section { background: #ecf0ea; }
.media-gallery .viewer-layout { grid-template-columns: minmax(0, .42fr) minmax(0, 1.58fr); align-items: start; gap: clamp(1.4rem, 3vw, 2.4rem); }
.media-gallery-grid { grid-column: auto; display: grid; grid-template-columns: minmax(0, 1.24fr) minmax(280px, .76fr); gap: 1px; margin-top: 0; }
.media-gallery .media-card { display: grid; grid-template-rows: minmax(0, 1fr) auto; margin: 0; padding: .85rem; background: #f6f8f3; }
.media-gallery .media-card:first-child img,
.media-gallery .media-card:first-child video { aspect-ratio: 16 / 10; }
.media-gallery .media-card:last-child img,
.media-gallery .media-card:last-child video { aspect-ratio: 4 / 5; }
.media-gallery .media-card img,
.media-gallery .media-card video { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; background: #0a0f11; border: 1px solid rgba(17,27,28,.12); }
.media-gallery .media-card p { margin: .8rem 0 0; color: #435754; font: 800 .66rem/1.45 var(--mono); }
.platform-downloads.viewer-section { background: #ecf0ea; }
.platform-downloads .viewer-layout { grid-template-columns: minmax(0, .42fr) minmax(0, 1.58fr); align-items: start; gap: clamp(1.4rem, 3vw, 2.4rem); }
.platform-download-grid { grid-column: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 0; background: rgba(17,27,28,.12); }
.platform-download-grid .platform-card { display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; gap: .85rem; margin: 0; padding: 1rem; background: #f6f8f3; }
.platform-card h3 { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin: 0; color: #151e20; font-size: 1rem; }
.platform-shot { display: grid; min-height: 0; }
.platform-card img { display: block; width: 100%; height: 100%; min-height: 0; aspect-ratio: 4 / 5; object-fit: cover; object-position: top; background: #0a0f11; border: 1px solid rgba(17,27,28,.12); }
.platform-shot-pending { display: grid; place-items: center; aspect-ratio: 4 / 5; border: 1px dashed rgba(17,27,28,.28); background: repeating-linear-gradient(135deg, rgba(17,27,28,.04) 0 10px, transparent 10px 20px); }
.platform-shot-pending span { color: #60716d; font: 800 .6rem var(--mono); letter-spacing: .1em; }
.platform-card p { margin: 0; color: #435754; font: 800 .66rem/1.45 var(--mono); }
.platform-card .store-button { justify-self: start; }
@media (max-width: 860px) { .platform-download-grid { grid-template-columns: 1fr; } }
.limitation-note .proof-layout { grid-template-columns: minmax(0, .5fr) minmax(0, 1.5fr); }
.limitation-note .boundary-card { min-height: 0; padding: 1.8rem 1.8rem 2rem; border-color: rgba(167,191,98,.28); background: linear-gradient(135deg, rgba(167,191,98,.08), transparent 44%), #0b1112; }
.limitation-note .boundary-card p { max-width: 44rem; margin: 0; color: var(--paper); font-size: 1.02rem; line-height: 1.6; }
.limitation-note .boundary-orbit,
.limitation-note .boundary-label,
.limitation-note .boundary-card ul,
.limitation-note .boundary-stamp { display: none; }
.faq-list .proof-layout { grid-template-columns: minmax(0, .5fr) minmax(0, 1.5fr); }
.faq-rail { display: grid; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.faq-list details { background: #0b1112; }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.3rem; cursor: pointer; color: var(--paper); font: 800 .95rem/1.35 var(--body); list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; color: var(--signal); font: 800 1.05rem var(--mono); }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 1.3rem 1.3rem; color: var(--mist); font-size: .96rem; line-height: 1.58; }
.acquisition-cta .closing-content { max-width: none; }
.acquisition-cta .closing-content > p:not(.signal):not(.cta-note) { max-width: 42rem; }
.acquisition-cta .hero-actions { gap: .85rem; }

@media (max-width: 1180px){
  .menu-button{display:block}
  .nav-shell{position:relative}
  .site-nav{position:absolute;top:79px;right:24px;left:auto;display:none;grid-template-columns:1fr;align-items:stretch;gap:0;width:min(430px,calc(100vw - 48px));padding:1rem 1rem 1.15rem;background:#081012;border:1px solid var(--line);box-shadow:0 18px 42px rgba(0,0,0,.38);white-space:normal}
  .site-nav.is-open{display:grid}
  .site-nav>a:not(.button){display:block;padding:.9rem .15rem;border-bottom:1px solid var(--line)}
  .site-nav .language-switch{justify-content:flex-start;padding:.9rem 0 .35rem}
  .site-nav .button-nav,.site-nav .store-button{width:100%;margin-top:.7rem}
  .hero-grid,.proof-layout,.platforms-layout{grid-template-columns:1fr}
  .hero-grid{padding-top:4.8rem}
  .hero-copy{max-width:670px}
  .hero-image{min-height:360px}
  .hero-image img{min-height:360px}
  .proof-layout{gap:3rem}
  .viewer-layout{grid-template-columns:1fr}
  .viewer-note{max-width:580px;padding:1.3rem 0}
  .viewer-note p{margin:1.2rem 0}
  .capability-grid{grid-template-columns:repeat(2,1fr)}
  .device-stage{min-height:560px;max-width:700px;width:100%;justify-self:center}
  .platform-copy{max-width:640px}
  .acquisition-hero .hero-grid,
  .acquisition-proof .proof-layout,
  .acquisition-workflow .proof-layout,
  .media-gallery .viewer-layout,
  .limitation-note .proof-layout,
  .faq-list .proof-layout { grid-template-columns: 1fr; gap: 2.4rem; }
  .workflow-steps{grid-template-columns:1fr}
  .media-gallery-grid{grid-template-columns:1fr 1fr}
}

@media (max-width: 768px){
  .acquisition-hero .hero-grid{min-height:0;padding-block:4.1rem 3.3rem}
  .acquisition-hero h1{overflow-wrap:anywhere}
  .acquisition-hero .hero-actions{flex-direction:column;align-items:stretch}
  .acquisition-hero .hero-actions > *{width:100%}
  .acquisition-hero .hero-actions .button,
  .acquisition-hero .hero-actions .store-button{height:auto;min-width:0;line-height:1.35;white-space:normal}
  .acquisition-proof .proof-line{grid-template-columns:1fr}
  .acquisition-proof .proof-line p{border-right:0;border-bottom:1px solid var(--line)}
  .acquisition-proof .proof-line p:last-child{border-bottom:0}
  .media-gallery-grid{grid-template-columns:1fr}
  .media-gallery .media-card:first-child img,
  .media-gallery .media-card:first-child video,
  .media-gallery .media-card:last-child img,
  .media-gallery .media-card:last-child video { aspect-ratio: 4 / 3; }
  .faq-list summary{padding:1.05rem 1.1rem}
  .faq-list details p{padding:0 1.1rem 1.15rem}
}

@media (max-width: 640px){
  .site-header{backdrop-filter:none}
  .nav-shell{min-height:66px}
  .brand img{width:36px;height:36px;border-radius:9px}
  .brand b{font-size:.91rem}
  .brand small{font-size:.46rem}
  .site-nav{top:66px;right:16px;width:calc(100vw - 32px)}
  .proof-line{grid-template-columns:1fr}
  .proof-line p{min-height:0;border-right:0;border-bottom:1px solid var(--line)}
  .proof-line p:last-child{border-bottom:0}
  .proof-layout{padding-block:4.6rem}
  .boundary-card{min-height:430px;padding:1.2rem}
  .boundary-card ul{margin-top:2.25rem}
  .boundary-stamp{right:1.1rem;bottom:1.1rem}
  .viewer-layout{padding-block:4.7rem}
  .panel-content{padding:2rem 1.35rem}
  .viewer-specs{grid-template-columns:1fr}
  .viewer-specs div{border-right:0;border-bottom:1px solid #aebbb6}
  .viewer-specs div:last-child{border-bottom:0}
  .capabilities{padding-block:4.8rem}
  .capability-grid{grid-template-columns:1fr;margin-top:2.7rem}
  .capability-card{min-height:230px}
  .card-index{margin:1.8rem 0 1rem}
  .platforms-layout{padding-block:4.8rem}
  .platform-list li{grid-template-columns:34px minmax(0,1fr);padding-block:.8rem}
  .status{grid-column:2}
  .device-stage{min-height:390px}
  .ipad-shot{top:20%;border-width:5px;border-radius:13px}
  .iphone-shot{border-width:5px;border-radius:19px}
  .core-tag{left:4%;bottom:1%;padding:.57rem .65rem}
  .core-tag small{font-size:.48rem}
  .closing-content{padding-block:5rem}
  .closing-orbit.one{right:-420px}
  .site-footer .footer-layout{align-items:flex-start;flex-direction:column;padding-block:1.5rem}
  .site-footer nav{width:100%;justify-content:space-between;gap:.5rem}
  .site-footer p{font-size:.64rem}
  .reveal{opacity:1;transform:none;transition:none}
  .acquisition-proof .proof-layout,
  .acquisition-workflow .proof-layout,
  .media-gallery .viewer-layout,
  .limitation-note .proof-layout,
  .faq-list .proof-layout { gap: 1.8rem; }
}
