1<!DOCTYPE html><!-- This site was created in Webflow. https://webflow.com --><!-- Last Published: Mon Sep 07 2026 13:09:06 GMT+0000 (Coordinated Universal Time) --> 2<html data-wf-page="67b852d5e1054bdc41c2cc57" data-wf-site="678fa1df881122e8d132e8cf" lang="en"> 3<head> 4 <meta charset="utf-8"> 5 <title>About RIVR</title> 6 <meta content="RIVR is a Swiss robotics company pioneering Physical AI to revolutionize last-mile delivery, giving 1 human the power of 1000 robots. By combining artificial neural networks with innovative wheeled-leg robot designs, RIVR enhances efficiency, sustainability, and scalability in last-mile and last-100-yard deliveryâthe catalyst for 1M+ robots that unlock a data flywheel for General Physical AI." name="description"> 7 <meta content="About RIVR" property="og:title"> 8 <meta content="RIVR is a Swiss robotics company pioneering Physical AI to revolutionize last-mile delivery, giving 1 human the power of 1000 robots. By combining artificial neural networks with innovative wheeled-leg robot designs, RIVR enhances efficiency, sustainability, and scalability in last-mile and last-100-yard deliveryâthe catalyst for 1M+ robots that unlock a data flywheel for General Physical AI." property="og:description"> 9 <meta content="About RIVR" name="twitter:title"> 10 <meta content="RIVR is a Swiss robotics company pioneering Physical AI to revolutionize last-mile delivery, giving 1 human the power of 1000 robots. By combining artificial neural networks with innovative wheeled-leg robot designs, RIVR enhances efficiency, sustainability, and scalability in last-mile and last-100-yard deliveryâthe catalyst for 1M+ robots that unlock a data flywheel for General Physical AI." name="twitter:description"> 11 <meta property="og:type" content="website"> 12 <meta content="summary_large_image" name="twitter:card"> 13 <meta content="width=device-width, initial-scale=1" name="viewport"> 14 <meta content="Webflow" name="generator"> 15 <link href="css/normalize.css" rel="stylesheet" type="text/css"> 16 <link href="css/webflow.css" rel="stylesheet" type="text/css"> 17 <link href="css/rivr.webflow.css" rel="stylesheet" type="text/css"> 18
18<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
18 19 <link href="images/favicon.png" rel="shortcut icon" type="image/x-icon"> 20 <link href="images/webclip.png" rel="apple-touch-icon">
vendor: 69 bytes, lines 20-21
20 21 <script async="" src="https://www.googletagmanager.com/gtag/js?id=
21G-Y3JPNTHN46
vendor: 14 bytes, lines 21-22
21"></script> 22
22<script type="text/javascript">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('set', 'developer_id.dZGVlNj', true);gtag('js', new Date());gtag('config', 'G-Y3JPNTHN46');</script>
22<!-- CSS --> 23 <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/lenis.css"> 24 <!-- JS --> 25
25<script src="https://unpkg.com/[email protected]/dist/lenis.min.js"></script>
25 26
26<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
26 27
27<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/ScrollTrigger.min.js"></script>
27 28
28<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
28 29
29<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/Observer.min.js"></script>
29 30
30<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/CustomEase.min.js"></script>
30 31 <style> 32/* Characters */ 33.btn-animate-chars [data-button-animate-chars] { 34 overflow: hidden; 35 position: relative; 36 display: inline-block; 37} 38.btn-animate-chars [data-button-animate-chars] span { 39 display: inline-block; 40 position: relative; 41 text-shadow: 0px 1.3em currentColor; 42 transform: translateY(0em) rotate(0.001deg); 43 transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1); 44} 45.btn-animate-chars:hover [data-button-animate-chars] span { 46 transform: translateY(-1.3em) rotate(0.001deg); 47} 48/* Background */ 49.btn-animate-chars__bg { 50 inset: 0; 51 transition: inset 0.6s cubic-bezier(0.625, 0.05, 0, 1); 52} 53.btn-animate-chars:hover .btn-animate-chars__bg { 54 inset: 0.25vw; 55} 56body { 57 font-size: var(--size-font); 58} 59[text-split] {opacity: 0;} 60html.w-editor [text-split] {opacity: 1;} 61.word { 62 overflow: hidden; 63 padding-bottom: 0.1em; 64 margin-bottom: -0.1em; 65 transform-origin: bottom; 66} 67</style> 68 <!-- [Attributes by Finsweet] Modal --> 69
69<script async="" src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-modal@1/modal.js"></script>
69 70 <!-- [Attributes by Finsweet] Disable scrolling --> 71
71<script defer="" src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-scrolldisable@1/scrolldisable.js"></script>
71 72
72<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
72 73
73<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollTrigger.min.js"></script>
73 74 <!-- [Attributes by Finsweet] Mirror click events --> 75
75<script defer="" src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-mirrorclick@1/mirrorclick.js"></script>
75 76
76<script src="js/finsweetcomponentsconfig-1.0.1.js" type="module" async="" siteid="678fa1df881122e8d132e8cf" finsweet="components"></script>
76 77</head> 78<body data-theme-nav="light" data-bg-nav="light" class="body"> 79 <nav data-wf--navbar--variant="secundary" class="nav"> 80 <div class="mobile-nav"> 81 <a href="index.html" class="nav-logo w-variant-00e3db3e-4497-c4cd-c36d-aabbb60d368e w-inline-block"> 82 <div class="logo-svg main mobile w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="auto" viewbox="0 0 255 80" fill="none"> 83 <path d="M95.5391 0H78.2148V78.777H95.5391V0Z" fill="currentColor"></path> 84 <path d="M17.3242 0H0V78.777H17.3242V0Z" fill="currentColor"></path> 85 <path d="M45.0928 0H28.4386L15.1855 15.8577H36.1759C45.1667 15.8577 52.481 23.2009 52.481 32.227V56.4279L68.2741 43.1227V23.2776C68.2741 10.4431 57.877 0.0025577 45.0928 0.0025577V0Z" fill="currentColor"></path> 86 <path d="M59.0713 80.0005L69.5524 67.4601L26.5476 31.2329L16.0664 43.7733L59.0713 80.0005Z" fill="currentColor"></path> 87 <path d="M202.539 0H185.215V78.777H202.539V0Z" fill="currentColor"></path> 88 <path d="M230.308 0H213.653L200.4 15.8577H221.391C230.382 15.8577 237.696 23.2009 237.696 32.227V56.4279L253.489 43.1227V23.2776C253.489 10.4431 243.092 0.0025577 230.308 0.0025577V0Z" fill="currentColor"></path> 89 <path d="M244.286 80.0005L254.767 67.4601L211.762 31.2329L201.281 43.7733L244.286 80.0005Z" fill="currentColor"></path> 90 <path d="M120.558 0H102.641L123.651 78.7182H141.06L120.558 0Z" fill="currentColor"></path> 91 <path d="M157.1 78.7182H139.691L160.193 0H178.11L157.1 78.7182Z" fill="currentColor"></path> 92 </svg></div> 93 <div class="logo-svg main w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="auto" viewbox="0 0 255 80" fill="none"> 94 <path d="M95.5391 0H78.2148V78.777H95.5391V0Z" fill="currentColor"></path> 95 <path d="M17.3242 0H0V78.777H17.3242V0Z" fill="currentColor"></path> 96 <path d="M45.0928 0H28.4386L15.1855 15.8577H36.1759C45.1667 15.8577 52.481 23.2009 52.481 32.227V56.4279L68.2741 43.1227V23.2776C68.2741 10.4431 57.877 0.0025577 45.0928 0.0025577V0Z" fill="currentColor"></path> 97 <path d="M59.0713 80.0005L69.5524 67.4601L26.5476 31.2329L16.0664 43.7733L59.0713 80.0005Z" fill="currentColor"></path> 98 <path d="M202.539 0H185.215V78.777H202.539V0Z" fill="currentColor"></path> 99 <path d="M230.308 0H213.653L200.4 15.8577H221.391C230.382 15.8577 237.696 23.2009 237.696 32.227V56.4279L253.489 43.1227V23.2776C253.489 10.4431 243.092 0.0025577 230.308 0.0025577V0Z" fill="currentColor"></path> 100 <path d="M244.286 80.0005L254.767 67.4601L211.762 31.2329L201.281 43.7733L244.286 80.0005Z" fill="currentColor"></path> 101 <path d="M120.558 0H102.641L123.651 78.7182H141.06L120.558 0Z" fill="currentColor"></path> 102 <path d="M157.1 78.7182H139.691L160.193 0H178.11L157.1 78.7182Z" fill="currentColor"></path> 103 </svg></div> 104 </a> 105 <div class="right-wrapper"> 106 <div class="mobile-nav-flyout"> 107 <div class="mobile-nav-inner"> 108 <div class="mobile-nav-list"> 109 <a href="index.html" class="nav-link-mobile w-inline-block"> 110 <div class="h3">Home</div> 111 </a> 112 <a href="solution.html" class="nav-link-mobile _1 w-inline-block"> 113 <div class="h3">Solutions</div> 114 </a> 115 <a href="product.html" class="nav-link-mobile _2 w-inline-block"> 116 <div class="h3">Product</div> 117 </a> 118 <a href="technology.html" class="nav-link-mobile _3 w-inline-block"> 119 <div class="h3">Technology</div> 120 </a> 121 <a href="about-rivr.html" aria-current="page" class="nav-link-mobile _4 w-inline-block w--current"> 122 <div class="h3">About</div> 123 </a> 124 </div> 125 <div class="mobile-meta-nav"> 126 <div class="mobile-linklist-small"> 127 <a href="careers.html" class="link p-16">Careers</a> 128 <a href="stories.html" class="link p-16">Stories</a> 129 </div> 130 <div fs-modal-element="open-2" data-w-id="e880218e-ab3b-4a53-95d5-2db44e6f3958" class="mobile-cta-flex"> 131 <a aria-label="staggering button" data-wf--cta-button--variant="black" href="#" class="btn-animate-chars button-small w-inline-block"> 132 <div class="btn-animate-chars__bg button w-variant-3a495690-1abc-3778-c309-9907f9c52642"></div><span data-button-animate-chars="" class="btn-animate-chars__text w-variant-3a495690-1abc-3778-c309-9907f9c52642">Get in touch</span> 133 <div class="code-embed hide secundary-9 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="13" viewbox="0 0 10 13" fill="none"> 134 <path d="M8.25709 10.2571C10.3207 8.19348 10.3207 4.835 8.25709 2.77138L5.65466 0.168945L0.964844 0.578784L4.26731 3.88126C5.71915 5.33309 5.7183 7.69454 4.26732 9.14552L0.964844 12.448L5.65466 12.8578L8.25709 10.2554L8.25709 10.2571Z" fill="CurrentColor"></path> 135 </svg></div> 136 </a> 137 </div> 138 </div> 139 </div> 140 </div> 141 <div class="mobile-nav-cta"> 142 <a fs-modal-element="open-2" aria-label="staggering button" data-w-id="7478b536-a347-73a3-6a51-0bcf661c0533" href="#" class="btn-animate-chars button-small contact w-inline-block"> 143 <div class="btn-animate-chars__bg button contact-button-bg"></div><span data-button-animate-chars="" class="btn-animate-chars__text contact-button">Contact</span> 144 <div class="code-embed hide secundary-9 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="13" viewbox="0 0 10 13" fill="none"> 145 <path d="M8.25709 10.2571C10.3207 8.19348 10.3207 4.835 8.25709 2.77138L5.65466 0.168945L0.964844 0.578784L4.26731 3.88126C5.71915 5.33309 5.7183 7.69454 4.26732 9.14552L0.964844 12.448L5.65466 12.8578L8.25709 10.2554L8.25709 10.2571Z" fill="CurrentColor"></path> 146 </svg></div> 147 </a> 148 </div> 149 <div data-w-id="9c3c95d1-2975-447e-8c4f-6f2ed2bbb8c8" class="open-link btn-animate-chars"> 150 <div class="btn-animate-chars__bg secundary contact-button-bg"></div> 151 <div class="button-icon-interaction"> 152 <div class="burger-icon-wrapper"> 153 <div class="burger-line-top"></div> 154 <div class="burger-line-bottom"></div> 155 </div> 156 </div> 157 </div> 158 </div> 159 </div> 160 <div class="nav-inner-flex"> 161 <div class="logo-sizer"> 162 <a id="w-node-ee9b3b25-fe3b-0aed-e7c3-4e52c75e7b20-c75e7b1d" href="index.html" class="nav-logo w-variant-00e3db3e-4497-c4cd-c36d-aabbb60d368e w-inline-block"> 163 <div class="logo-svg main w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="auto" height="auto" viewbox="0 0 255 80" fill="none"> 164 <path d="M95.5391 0H78.2148V78.777H95.5391V0Z" fill="currentColor"></path> 165 <path d="M17.3242 0H0V78.777H17.3242V0Z" fill="currentColor"></path> 166 <path d="M45.0928 0H28.4386L15.1855 15.8577H36.1759C45.1667 15.8577 52.481 23.2009 52.481 32.227V56.4279L68.2741 43.1227V23.2776C68.2741 10.4431 57.877 0.0025577 45.0928 0.0025577V0Z" fill="currentColor"></path> 167 <path d="M59.0713 80.0005L69.5524 67.4601L26.5476 31.2329L16.0664 43.7733L59.0713 80.0005Z" fill="currentColor"></path> 168 <path d="M202.539 0H185.215V78.777H202.539V0Z" fill="currentColor"></path> 169 <path d="M230.308 0H213.653L200.4 15.8577H221.391C230.382 15.8577 237.696 23.2009 237.696 32.227V56.4279L253.489 43.1227V23.2776C253.489 10.4431 243.092 0.0025577 230.308 0.0025577V0Z" fill="currentColor"></path> 170 <path d="M244.286 80.0005L254.767 67.4601L211.762 31.2329L201.281 43.7733L244.286 80.0005Z" fill="currentColor"></path> 171 <path d="M120.558 0H102.641L123.651 78.7182H141.06L120.558 0Z" fill="currentColor"></path> 172 <path d="M157.1 78.7182H139.691L160.193 0H178.11L157.1 78.7182Z" fill="currentColor"></path> 173 </svg></div> 174 </a> 175 </div> 176 <div class="navlist top"> 177 <a href="solution.html" class="p-16 navlink">Solutions</a> 178 <a href="product.html" class="p-16 navlink">Product</a> 179 <a href="rivr-two.html" class="p-16 navlink">RIVR TWO</a> 180 <a href="technology.html" class="p-16 navlink">Technology</a> 181 <a href="about-rivr.html" aria-current="page" class="p-16 navlink w--current">About</a> 182 </div> 183 <div id="w-node-ee9b3b25-fe3b-0aed-e7c3-4e52c75e7b2b-c75e7b1d" class="navlink-wrapper"> 184 <div class="metanav-wrapper"> 185 <div class="navlist"> 186 <a href="careers.html" class="p-16 navlink">Careers</a> 187 <a href="stories.html" class="p-16 navlink">Stories</a> 188 </div> 189 <a fs-modal-element="open-2" aria-label="staggering button" data-w-id="ee9b3b25-fe3b-0aed-e7c3-4e52c75e7b32" href="#" class="btn-animate-chars button-small contact w-inline-block"> 190 <div class="btn-animate-chars__bg button contact-button-bg"></div><span data-button-animate-chars="" class="btn-animate-chars__text contact-button">Contact</span> 191 <div class="code-embed hide secundary-9 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="13" viewbox="0 0 10 13" fill="none"> 192 <path d="M8.25709 10.2571C10.3207 8.19348 10.3207 4.835 8.25709 2.77138L5.65466 0.168945L0.964844 0.578784L4.26731 3.88126C5.71915 5.33309 5.7183 7.69454 4.26732 9.14552L0.964844 12.448L5.65466 12.8578L8.25709 10.2554L8.25709 10.2571Z" fill="CurrentColor"></path> 193 </svg></div> 194 </a> 195 </div> 196 </div> 197 <div class="nav-bg-outer"> 198 <div class="nav-bg"> 199 <div class="underline-link w-embed"> 200 <style> 201.navlink::before, 202.navlink.is--alt::before, 203.navlink.is--alt::after{ 204 content: ""; 205 position: absolute; 206 bottom: 0em; 207 left: 0; 208 width: 100%; 209 height: 0.0825em; 210 background-color: currentColor; 211 transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1); 212 transform-origin: right; 213 transform: scaleX(0) rotate(0.001deg); 214} 215.navlink:hover::before { 216 transform-origin: left; 217 transform: scaleX(1) rotate(0.001deg); 218} 219/* Alt */ 220.navlink.is--alt::before { 221 transform-origin: left; 222 transform: scaleX(1) rotate(0.001deg); 223 transition-delay: 0.3s; 224} 225.navlink.is--alt:hover::before { 226 transform-origin: right; 227 transform: scaleX(0) rotate(0.001deg); 228 transition-delay: 0s; 229} 230.navlink.is--alt::after { 231 transform-origin: right; 232 transform: scaleX(0) rotate(0.001deg); 233 transition-delay: 0s; 234} 235.navlink.is--alt:hover::after { 236 transform-origin: left; 237 transform: scaleX(1) rotate(0.001deg); 238 transition-delay: 0.3s; 239} 240</style> 241 </div> 242 </div> 243 </div> 244 </div> 245 <div class="w-embed"> 246 <style> 247[data-theme-nav="light"] .navlink { 248 color: var(--_corecolors---white); 249} 250[data-theme-nav="dark"] .navlink { 251 color: var(--_corecolors---black); 252} 253[data-theme-nav="light"] .nav-logo { 254 color: var(--_corecolors---white); 255} 256[data-theme-nav="dark"] .nav-logo { 257 color: var(--_corecolors---black); 258} 259[data-theme-nav="light"] .contact-button-bg { 260 background-color: var(--grey--grey_2); 261} 262[data-theme-nav="dark"] .contact-button-bg { 263 background-color: var(--_corecolors---black); 264} 265[data-theme-nav="light"] .contact-button { 266 color: var(--_corecolors---black); 267} 268[data-theme-nav="dark"] .contact-button { 269 color: var(--_corecolors---white); 270} 271[data-theme-nav="light"] .burger-line-bottom { 272 background-color: var(--_corecolors---black); 273} 274[data-theme-nav="dark"] .burger-line-bottom { 275 background-color: var(--_corecolors---white); 276} 277[data-theme-nav="light"] .burger-line-top { 278 background-color: var(--_corecolors---black); 279} 280[data-theme-nav="dark"] .burger-line-top { 281 background-color: var(--_corecolors---white); 282} 283[data-theme-nav="light"] .nav-bg { 284 background-color: var(--_corecolors---black); 285} 286[data-theme-nav="dark"] .nav-bg { 287 background-color: var(--_corecolors---white); 288} 289</style> 290 </div> 291 <div class="stagger-animation w-embed"> 292 <style> 293/* Characters */ 294.btn-animate-chars [data-button-animate-chars] { 295 overflow: hidden; 296 position: relative; 297 display: inline-block; 298} 299.btn-animate-chars [data-button-animate-chars] span { 300 display: inline-block; 301 position: relative; 302 text-shadow: 0px 1.3em currentColor; 303 transform: translateY(0em) rotate(0.001deg); 304 transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1); 305} 306.btn-animate-chars:hover [data-button-animate-chars] span { 307 transform: translateY(-1.3em) rotate(0.001deg); 308}
309/* Background */ 310.btn-animate-chars__bg { 311 inset: 0; 312 transition: inset 0.6s cubic-bezier(0.625, 0.05, 0, 1); 313} 314.btn-animate-chars:hover .btn-animate-chars__bg { 315 inset: 0.25vw; 316} 317</style> 318 </div> 319 <div class="scaling-system w-embed"> 320 <style> 321/* ------------------------- Scaling System by Osmo [https://osmo.supply/] ------------------------- */ 322/* Desktop */ 323:root { 324 --size-unit: 16; /* body font-size in design - no px */ 325 --size-container-ideal: 1440; /* screen-size in design - no px */ 326 --size-container-min: 992px; 327 --size-container-max: 1920px; 328 --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max)); 329 --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit))); 330} 331/* Tablet */ 332@media screen and (max-width: 991px) { 333 :root { 334 --size-container-ideal: 834; /* screen-size in design - no px */ 335 --size-container-min: 768px; 336 --size-container-max: 991px; 337 } 338} 339/* Mobile Landscape */ 340@media screen and (max-width: 767px) { 341 :root { 342 --size-container-ideal: 390; /* screen-size in design - no px */ 343 --size-container-min: 480px; 344 --size-container-max: 767px; 345 } 346} 347/* Mobile Portrait */ 348@media screen and (max-width: 479px) { 349 :root { 350 --size-container-ideal: 390; /* screen-size in design - no px */ 351 --size-container-min: 320px; 352 --size-container-max: 479px; 353 } 354} 355</style> 356 </div> 357 <div fs-modal-duration="200" fs-modal-element="modal-2" class="overlay-wrapper contact w-variant-00e3db3e-4497-c4cd-c36d-aabbb60d368e"> 358 <div fs-modal-element="close-2" data-w-id="5a8a78ed-3844-adc6-992d-4ebe4311f59f" class="darken-overlay"></div> 359 <div data-lenis-prevent="" class="overlay-item contact"> 360 <div fs-modal-element="close-2" data-w-id="5a8a78ed-3844-adc6-992d-4ebe4311f5a1" class="close-wrapper"> 361 <div data-wf--button-square--variant="black" data-w-id="9fe8ec00-a6e9-2ac9-0879-19bdc093a080" class="open-link btn-animate-chars w-variant-87071224-d9cd-5771-9502-4a89c5d3a54d"> 362 <div class="btn-animate-chars__bg secundary w-variant-87071224-d9cd-5771-9502-4a89c5d3a54d"></div> 363 <div class="button-icon-interaction"> 364 <div data-wf--icon--variant="close" class="code-embed w-variant-4700eb1a-5a37-119c-bdc4-c92ec23cdfe2 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewbox="0 0 12 12" fill="none"> 365 <path d="M4.65882 12V7.34118H0V4.65882H4.65882V0H7.34118V4.65882H12V7.34118H7.34118V12H4.65882Z" fill="currentColor"></path> 366 </svg></div> 367 </div> 368 </div> 369 </div> 370 <div class="modal-wrapper contact"> 371 <div class="modal-content"> 372 <div class="blogtitle-wrapper"> 373 <h2 class="h3">Letâs build the future of delivery together. Reach out to our team to learn more about RIVRâs solutions.</h2> 374 </div> 375 <div class="contact-wrapper"> 376 <div class="w-form"> 377 <form id="wf-form-Hubspot-Form" name="wf-form-Hubspot-Form" data-name="Hubspot Form" method="get" data-webflow-hubspot-api-form-url="https://hubspotonwebflow.com/api/forms/f632ca0c-8a89-45c4-8f06-c1d87aee8d6b" class="form" data-wf-page-id="67b852d5e1054bdc41c2cc57" data-wf-element-id="f030c426-1235-30d6-a0dd-916140e42d22"><input class="input w-input" data-wfhsfieldname="FormTextInput-2" maxlength="256" name="name" data-name="Name" placeholder="Name" type="text" id="name" required=""><input class="input w-input" data-wfhsfieldname="FormTextInput-3" maxlength="256" name="Lastname" data-name="Lastname" placeholder="Lastname" type="text" id="Lastname" required=""><input class="input w-input" data-wfhsfieldname="FormTextInput-4" maxlength="256" name="Company" data-name="Company" placeholder="Company" type="text" id="Company" required=""><input class="input w-input" data-wfhsfieldname="FormTextInput-5" maxlength="256" name="Email" data-name="Email" placeholder="Email" type="email" id="Email" required=""> 378 <div class="segmented-wrapper"> 379 <div class="p-16">Interested in</div> 380 <div class="flex-ratios"><label class="w-checkbox radio-button-field"> 381 <div class="w-checkbox-input w-checkbox-input--inputType-custom radio-button"></div><input type="checkbox" id="Parcel-Delivery" name="Parcel-Delivery" data-name="Parcel Delivery" data-wfhsfieldname="FormCheckboxWrapper-5" style="opacity:0;position:absolute;z-index:-1"><span class="radio-text w-form-label" for="Parcel-Delivery">Parcel Delivery</span> 382 </label><label class="w-checkbox radio-button-field"> 383 <div class="w-checkbox-input w-checkbox-input--inputType-custom radio-button"></div><input type="checkbox" id="Grocery-deivery" name="Grocery-deivery" data-name="Grocery deivery" data-wfhsfieldname="FormCheckboxWrapper-6" style="opacity:0;position:absolute;z-index:-1"><span class="radio-text w-form-label" for="Grocery-deivery">Grocery Delivery</span> 384 </label><label class="w-checkbox radio-button-field"> 385 <div class="w-checkbox-input w-checkbox-input--inputType-custom radio-button"></div><input type="checkbox" id="Instant-food-and-convenience-store-delivery" name="Instant-food-and-convenience-store-delivery" data-name="Instant food and convenience store delivery" data-wfhsfieldname="FormCheckboxWrapper-7" style="opacity:0;position:absolute;z-index:-1"><span class="radio-text w-form-label" for="Instant-food-and-convenience-store-delivery">Instant food and convenience store delivery</span> 386 </label><label class="w-checkbox radio-button-field"> 387 <div class="w-checkbox-input w-checkbox-input--inputType-custom radio-button"></div><input type="checkbox" id="General" name="General" data-name="General" data-wfhsfieldname="FormCheckboxWrapper-8" style="opacity:0;position:absolute;z-index:-1"><span class="radio-text w-form-label" for="General">General</span> 388 </label></div> 389 </div><textarea class="text-area w-input" data-wfhsfieldname="FormTextarea-10" maxlength="5000" name="Message" data-name="Message" placeholder="Message" id="Message-2" required=""></textarea><input type="submit" data-wait="Please wait..." fs-mirrorclick-element="target" class="submit-button w-button" value="Submit"> 390 <div fs-mirrorclick-element="trigger" class="submit-wrapper"> 391 <a aria-label="staggering button" data-wf--cta-rich--variant="black" href="#" class="btn-animate-chars w-inline-block"> 392 <div class="btn-animate-chars__bg w-variant-04b5b01d-f99b-1a69-bcbe-7dcbb0bb4afb"></div><span data-button-animate-chars="" class="btn-animate-chars__text w-variant-04b5b01d-f99b-1a69-bcbe-7dcbb0bb4afb">Send out</span> 393 <div class="code-embed hide w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="13" viewbox="0 0 10 13" fill="none"> 394 <path d="M8.25709 10.2571C10.3207 8.19348 10.3207 4.835 8.25709 2.77138L5.65466 0.168945L0.964844 0.578784L4.26731 3.88126C5.71915 5.33309 5.7183 7.69454 4.26732 9.14552L0.964844 12.448L5.65466 12.8578L8.25709 10.2554L8.25709 10.2571Z" fill="CurrentColor"></path> 395 </svg></div> 396 </a> 397 </div><input type="hidden" name="hutk" value=""><input type="hidden" name="ipAddress" value=""><input type="hidden" name="pageUri" value=""><input type="hidden" name="pageId" value=""><input type="hidden" name="pageName" value=""> 398 </form> 399 <div class="w-form-done"> 400 <div>Thank you! Your submission has been received!</div> 401 </div> 402 <div class="w-form-fail"> 403 <div>Oops! Something went wrong while submitting the form.</div> 404 </div> 405 </div> 406 </div> 407 <div name="Form Block"></div> 408 </div> 409 </div> 410 </div> 411 </div> 412 </nav> 413 <section data-theme-section="dark" data-wf--substage--variant="big-title" class="substage">
414 <div class="w-layout-grid _12-grid singlelrow"> 415 <div id="w-node-_74ca3385-3198-7a56-36f3-7e6d466ad3e1-d3fe3c8e"> 416 <h1 id="w-node-_40ca733f-130e-cdf0-3411-a0acd3fe3c90-d3fe3c8e" class="h1 sub">Physical AI for doorstep delivery.</h1> 417 </div> 418 </div> 419 </section> 420 <section data-theme-section="dark" class="fullbleed-image"><img src="images/RIVR_Autonomous_Delivery_1.avif" loading="lazy" alt="" sizes="(max-width: 1200px) 100vw, 1200px" srcset="images/RIVR_Autonomous_Delivery_1RIVR_Autonomous_Delivery.avif 500w, images/RIVR_Autonomous_Delivery_1RIVR_Autonomous_Delivery.avif 800w, images/RIVR_Autonomous_Delivery_1RIVR_Autonomous_Delivery.avif 1080w, images/RIVR_Autonomous_Delivery_1RIVR_Autonomous_Delivery.avif 1600w, images/RIVR_Autonomous_Delivery_1RIVR_Autonomous_Delivery.avif 2000w, images/RIVR_Autonomous_Delivery_1.avif 2400w" class="image-flex"></section> 421 <section data-theme-section="dark" class="pagelead-wrapper sub"> 422 <div class="w-layout-grid _12-grid header"> 423 <div id="w-node-a0ec4139-87a6-784b-c461-20e3d283075f-d283075d" class="pagelead-inner"> 424 <div class="h4">RIVR is pioneering Physical AI to revolutionize doorstep delivery. By combining artificial neural networks with innovative wheeled-leg robot designs, RIVR enhances efficiency, sustainability, and scalability in last-mile and last-100-yard deliveryâthe catalyst for 1M+ robots that unlock a data flywheel for General Physical AI. Founded as Swiss-Mile, the company rebranded to RIVR to better reflect its mission of driving the future of intelligent robots.</div> 425 </div> 426 </div> 427 <div class="flex-horizontal richbutton"> 428 <a aria-label="staggering button" data-wf--cta-rich--variant="black" href="https://www.rivr.ai/stories/from-research-to-global-impact-the-journey-from-swiss-mile-to-rivr" target="_blank" class="btn-animate-chars w-inline-block"> 429 <div class="btn-animate-chars__bg w-variant-04b5b01d-f99b-1a69-bcbe-7dcbb0bb4afb"></div><span data-button-animate-chars="" class="btn-animate-chars__text w-variant-04b5b01d-f99b-1a69-bcbe-7dcbb0bb4afb">Read our Story</span> 430 <div class="code-embed hide w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="13" viewbox="0 0 10 13" fill="none"> 431 <path d="M8.25709 10.2571C10.3207 8.19348 10.3207 4.835 8.25709 2.77138L5.65466 0.168945L0.964844 0.578784L4.26731 3.88126C5.71915 5.33309 5.7183 7.69454 4.26732 9.14552L0.964844 12.448L5.65466 12.8578L8.25709 10.2554L8.25709 10.2571Z" fill="CurrentColor"></path> 432 </svg></div> 433 </a> 434 </div> 435 </section> 436 <section data-theme-section="light" class="table-giant"> 437 <div class="table-giant-inner"> 438 <div class="w-layout-grid _12-grid singlelrow bottom"> 439 <div id="w-node-_718bc6d9-d3c8-0949-8798-436a69df2c35-69df2c32" class="teaser-text-wrapper"> 440 <h2 class="h2">Our Values</h2> 441 </div> 442 </div> 443 <div class="giant-list"> 444 <div class="giant-list-row"> 445 <div class="row-left"> 446 <div class="h4">01</div> 447 </div> 448 <div class="riw-right"> 449 <div class="h4">We take technology risks, not customer risks.</div> 450 </div> 451 </div> 452 <div class="giant-list-row"> 453 <div class="row-left"> 454 <div class="h4">02</div> 455 </div> 456 <div class="riw-right"> 457 <div class="h4">We are open-minded and playful.</div> 458 </div> 459 </div> 460 <div class="giant-list-row"> 461 <div class="row-left"> 462 <div class="h4">03</div> 463 </div> 464 <div class="riw-right"> 465 <div class="h4">We are passionate and positive.</div> 466 </div> 467 </div> 468 </div> 469 </div> 470 </section> 471 <section data-theme-section="dark" class="section"> 472 <div class="w-layout-grid _12-grid singlelrow"> 473 <div id="w-node-d98ae207-b454-67bc-6126-9105e1dcee0d-e1dcee0b" class="teaser-text-wrapper"> 474 <h2 class="h2">Founding Team</h2> 475 </div> 476 </div> 477 <div class="management-outer"> 478 <div class="team w-dyn-list"> 479 <div role="list" class="team-grid w-dyn-items"> 480 <div id="w-node-d98ae207-b454-67bc-6126-9105e1dcee18-e1dcee0b" role="listitem" class="w-dyn-item"> 481 <div class="management-item"> 482 <div class="portrait-wrapper"><img src="https://d3e54v103j8qbb.cloudfront.net/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="" class="portrait w-dyn-bind-empty"> 483 <a href="#" class="linkedin-button w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="100%" viewbox="0 0 24 24" fill="none" class="social-icon"> 484 <path d="M20.9 20.9H17.166V15.053C17.166 13.659 17.138 11.865 15.222 11.865C13.277 11.865 12.98 13.382 12.98 14.95V20.9H9.249V8.87699H12.833V10.516H12.881C13.2402 9.90278 13.7588 9.39838 14.3818 9.05643C15.0048 8.71447 15.7088 8.54775 16.419 8.57399C20.199 8.57399 20.898 11.062 20.898 14.3V20.9H20.9ZM5.036 7.23199C4.60732 7.23259 4.1881 7.10603 3.83137 6.86832C3.47463 6.63061 3.19641 6.29244 3.03191 5.89658C2.8674 5.50072 2.824 5.06497 2.9072 4.64444C2.99039 4.22392 3.19644 3.83751 3.49928 3.53411C3.80212 3.23071 4.18815 3.02395 4.60852 2.93998C5.02889 2.85601 5.46473 2.8986 5.86089 3.06237C6.25705 3.22615 6.59573 3.50374 6.8341 3.86003C7.07246 4.21633 7.1998 4.63532 7.2 5.06399C7.20039 5.34847 7.14472 5.63024 7.03615 5.89319C6.92759 6.15615 6.76827 6.39512 6.5673 6.59647C6.36633 6.79781 6.12764 6.95757 5.86489 7.06662C5.60214 7.17567 5.32048 7.23186 5.036 7.23199ZM6.906 20.9H3.165V8.87699H6.906V20.9Z" fill="currentColor"></path> 485 </svg></a> 486 </div> 487 <div class="name-wrapper"> 488 <div class="p-16 w-dyn-bind-empty"></div> 489 <div class="p-16 weak w-dyn-bind-empty"></div> 490 </div> 491 </div> 492 </div> 493 </div> 494 <div class="w-dyn-empty"> 495 <div>No items found.</div> 496 </div> 497 </div> 498 </div> 499 </section> 500 <section data-theme-section="dark" class="logo-section"> 501 <div class="wrapper-top">
502 <div class="w-layout-grid _12-grid singlelrow"> 503 <div id="w-node-_8f9cbc09-2cea-eb4b-4fe9-71a4a4251f11-a4251f0e" class="teaser-text-wrapper"> 504 <h2 class="h2">Investors</h2> 505 </div> 506 </div> 507 </div> 508 <div class="logo-slider-wrapper"> 509 <div data-marquee-duplicate="2" data-marquee-scroll-direction-target="" data-marquee-direction="right" data-marquee-status="normal" data-marquee-speed="15" data-marquee-scroll-speed="10" class="marquee-advanced"> 510 <div data-marquee-scroll-target="" class="marquee-advanced__scroll"> 511 <div data-marquee-collection-target="" class="marquee-advanced__collection"> 512 <div class="w-dyn-list"> 513 <div role="list" class="logo-stripe w-dyn-items"> 514 <div role="listitem" class="investor-item w-dyn-item"> 515 <a href="#" class="logo-wrapper w-inline-block"><img src="https://d3e54v103j8qbb.cloudfront.net/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" alt="" class="w-dyn-bind-empty"></a> 516 </div> 517 </div> 518 <div class="w-dyn-empty"> 519 <div>No items found.</div> 520 </div> 521 </div> 522 </div> 523 </div> 524 </div> 525 </div> 526 <div class="marquee-script w-embed w-script"> 527
527<script> 528function initMarqueeScrollDirection() { 529 document.querySelectorAll('[data-marquee-scroll-direction-target]').forEach((marquee) => { 530 // Query marquee elements 531 const marqueeContent = marquee.querySelector('[data-marquee-collection-target]'); 532 const marqueeScroll = marquee.querySelector('[data-marquee-scroll-target]'); 533 if (!marqueeContent || !marqueeScroll) return; 534 // Get data attributes 535 const { marqueeSpeed: speed, marqueeDirection: direction, marqueeDuplicate: duplicate, marqueeScrollSpeed: scrollSpeed } = marquee.dataset; 536 // Convert data attributes to usable types 537 const marqueeSpeedAttr = parseFloat(speed); 538 const marqueeDirectionAttr = direction === 'right' ? 1 : -1; // 1 for right, -1 for left 539 const duplicateAmount = parseInt(duplicate || 0); 540 const scrollSpeedAttr = parseFloat(scrollSpeed); 541 const speedMultiplier = window.innerWidth < 479 ? 0.25 : window.innerWidth < 991 ? 0.5 : 1; 542 let marqueeSpeed = marqueeSpeedAttr * (marqueeContent.offsetWidth / window.innerWidth) * speedMultiplier; 543 // Precompute styles for the scroll container 544 marqueeScroll.style.marginLeft = `${scrollSpeedAttr * -1}%`; 545 marqueeScroll.style.width = `${(scrollSpeedAttr * 2) + 100}%`; 546 // Duplicate marquee content 547 if (duplicateAmount > 0) { 548 const fragment = document.createDocumentFragment(); 549 for (let i = 0; i < duplicateAmount; i++) { 550 fragment.appendChild(marqueeContent.cloneNode(true)); 551 } 552 marqueeScroll.appendChild(fragment); 553 } 554 // GSAP animation for marquee content 555 const marqueeItems = marquee.querySelectorAll('[data-marquee-collection-target]'); 556 const animation = gsap.to(marqueeItems, { 557 xPercent: -100, // Move completely out of view 558 repeat: -1, 559 duration: marqueeSpeed, 560 ease: 'linear' 561 }).totalProgress(0.5); 562 // Initialize marquee in the correct direction 563 gsap.set(marqueeItems, { xPercent: marqueeDirectionAttr === 1 ? 100 : -100 }); 564 animation.timeScale(marqueeDirectionAttr); // Set correct direction 565 animation.play(); // Start animation immediately 566 // Set initial marquee status 567 marquee.setAttribute('data-marquee-status', 'normal'); 568 // ScrollTrigger logic for direction inversion 569 ScrollTrigger.create({ 570 trigger: marquee, 571 start: 'top bottom', 572 end: 'bottom top', 573 onUpdate: (self) => { 574 const isInverted = self.direction === 1; // Scrolling down 575 const currentDirection = isInverted ? -marqueeDirectionAttr : marqueeDirectionAttr; 576 // Update animation direction and marquee status 577 animation.timeScale(currentDirection); 578 marquee.setAttribute('data-marquee-status', isInverted ? 'normal' : 'inverted'); 579 } 580 }); 581 // Extra speed effect on scroll 582 const tl = gsap.timeline({ 583 scrollTrigger: { 584 trigger: marquee, 585 start: '0% 100%', 586 end: '100% 0%', 587 scrub: 0 588 } 589 }); 590 const scrollStart = marqueeDirectionAttr === -1 ? scrollSpeedAttr : -scrollSpeedAttr; 591 const scrollEnd = -scrollStart; 592 tl.fromTo(marqueeScroll, { x: `${scrollStart}vw` }, { x: `${scrollEnd}vw`, ease: 'none' }); 593 }); 594} 595// Initialize Marquee with Scroll Direction 596document.addEventListener('DOMContentLoaded', () => { 597 initMarqueeScrollDirection(); 598}); 599</script>
599 600 </div> 601 </section> 602 <section data-theme-section="dark" class="news-section"> 603 <div class="news-teasers"> 604 <div class="cta-wrapper"> 605 <a aria-label="staggering button" data-wf--cta-button--variant="black" href="#" class="btn-animate-chars button-small w-inline-block"> 606 <div class="btn-animate-chars__bg button w-variant-3a495690-1abc-3778-c309-9907f9c52642"></div><span data-button-animate-chars="" class="btn-animate-chars__text w-variant-3a495690-1abc-3778-c309-9907f9c52642">All Stories</span> 607 <div class="code-embed hide secundary-9 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="13" viewbox="0 0 10 13" fill="none"> 608 <path d="M8.25709 10.2571C10.3207 8.19348 10.3207 4.835 8.25709 2.77138L5.65466 0.168945L0.964844 0.578784L4.26731 3.88126C5.71915 5.33309 5.7183 7.69454 4.26732 9.14552L0.964844 12.448L5.65466 12.8578L8.25709 10.2554L8.25709 10.2571Z" fill="CurrentColor"></path> 609 </svg></div> 610 </a> 611 </div> 612 <div class="news-wrapper notitle"> 613 <div class="w-dyn-list"> 614 <div role="list" class="_12-grid singlelrow w-dyn-items"> 615 <div id="w-node-aeeaef17-f3b0-7036-22b1-8a8acb55e876-41c2cc57" role="listitem" class="news-item-spot w-dyn-item"> 616 <div class="tag-list w-dyn-list"> 617 <div role="list" class="collection-list w-dyn-items"> 618 <div role="listitem" class="w-dyn-item"> 619 <div class="tag"> 620 <div class="description tags w-dyn-bind-empty"></div> 621 </div> 622 </div> 623 </div> 624 </div> 625 <a data-w-id="aeeaef17-f3b0-7036-22b1-8a8acb55e87f" style="opacity:1" href="#" class="news-card-outer w-inline-block"> 626 <div style="-webkit-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" class="thumbnail-wrapper"><img src="https://d3e54v103j8qbb.cloudfront.net/plugins/Basic/assets/placeholder.60f9b1840c.svg" loading="lazy" style="-webkit-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" alt="" class="thumbnail w-dyn-bind-empty"> 627 <div class="click-indicator"> 628 <div style="opacity:0" class="open-link btn-animate-chars"> 629 <div style="-webkit-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" class="btn-animate-chars__bg secundary"></div> 630 <div class="button-icon-interaction"> 631 <div class="code-embed w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="16" viewbox="0 0 17 16" fill="none"> 632 <path d="M15.0708 7.9997H0.928711M15.0708 7.9997L8.70689 1.63574M15.0708 7.9997L8.70689 14.3637" stroke="currentColor" stroke-width="2"></path> 633 </svg></div> 634 </div> 635 </div> 636 </div> 637 </div> 638 <div class="news-title-section"> 639 <div class="date-wrapper"> 640 <div class="description w-dyn-bind-empty"></div> 641 <div class="description w-dyn-bind-empty"></div> 642 <div class="description w-dyn-bind-empty"></div> 643 </div> 644 <div class="lead w-dyn-bind-empty"></div> 645 </div> 646 </a> 647 </div> 648 </div> 649 <div class="w-dyn-empty"> 650 <div>No items found.</div> 651 </div> 652 </div> 653 </div> 654 </div> 655 </section> 656 <section data-theme-section="dark" data-wf--footer--variant="full" class="page-bottom"> 657 <div class="contact-block">
658 <div class="w-layout-grid _12-grid singlelrow button"> 659 <a fs-modal-element="open-2" aria-label="staggering-button" id="w-node-_7497d664-66ca-fccf-8007-733d80fa687f-80fa687c" data-w-id="7497d664-66ca-fccf-8007-733d80fa687f" href="#" class="contact-cta w-inline-block"> 660 <div class="w-embed"> 661 <style> 662/* Characters */ 663.contact-cta [data-button-animate-chars] { 664 overflow: hidden; 665 position: relative; 666 display: inline-block; 667} 668.contact-cta [data-button-animate-chars] span { 669 display: inline-block; 670 position: relative; 671 text-shadow: 0px 1.3em currentColor; 672 transform: translateY(0em) rotate(0.001deg); 673 transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1); 674} 675.contact-cta:hover [data-button-animate-chars] span { 676 transform: translateY(-1.3em) rotate(0.001deg); 677} 678/* Background */ 679.background-area-zoom { 680 inset: 0; 681 transition: inset 0.6s cubic-bezier(0.625, 0.05, 0, 1); 682} 683.contact-cta:hover .background-area-zoom { 684 inset: 2vw; 685} 686</style> 687 </div> 688 <div class="background-area-zoom"> 689 <div class="arrow-icon top-left"> 690 <div class="arrow desctop w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="67" height="68" viewbox="0 0 67 68" fill="none"> 691 <path d="M29.0257 0H49.8786L66.4729 18.9086H40.1906C28.9331 18.9086 19.7747 27.6644 19.7747 38.4271V67.284L-1.80592e-05 51.4191V27.7559C-1.80592e-05 12.4522 13.0183 0.00304977 29.0257 0.00304977V0Z" fill="currentColor"></path> 692 </svg></div> 693 <div class="arrow tablet w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="47" height="48" viewbox="0 0 67 68" fill="none"> 694 <path d="M29.0257 0H49.8786L66.4729 18.9086H40.1906C28.9331 18.9086 19.7747 27.6644 19.7747 38.4271V67.284L-1.80592e-05 51.4191V27.7559C-1.80592e-05 12.4522 13.0183 0.00304977 29.0257 0.00304977V0Z" fill="currentColor"></path> 695 </svg></div> 696 <div class="arrow mobile w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="37" height="38" viewbox="0 0 67 68" fill="none"> 697 <path d="M29.0257 0H49.8786L66.4729 18.9086H40.1906C28.9331 18.9086 19.7747 27.6644 19.7747 38.4271V67.284L-1.80592e-05 51.4191V27.7559C-1.80592e-05 12.4522 13.0183 0.00304977 29.0257 0.00304977V0Z" fill="currentColor"></path> 698 </svg></div> 699 </div> 700 <div class="arrow-icon top-right"> 701 <div class="arrow desctop w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="67" height="68" viewbox="0 0 67 68" fill="none"> 702 <path d="M37.4472 0H16.5943L0 18.9086H26.2823C37.5398 18.9086 46.6982 27.6644 46.6982 38.4271V67.284L66.4729 51.4191V27.7559C66.4729 12.4522 53.4546 0.00304977 37.4472 0.00304977V0Z" fill="black"></path> 703 </svg></div> 704 <div class="arrow tablet w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="47" height="48" viewbox="0 0 67 68" fill="none"> 705 <path d="M37.4472 0H16.5943L0 18.9086H26.2823C37.5398 18.9086 46.6982 27.6644 46.6982 38.4271V67.284L66.4729 51.4191V27.7559C66.4729 12.4522 53.4546 0.00304977 37.4472 0.00304977V0Z" fill="black"></path> 706 </svg></div> 707 <div class="arrow mobile w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="37" height="38" viewbox="0 0 67 68" fill="none"> 708 <path d="M37.4472 0H16.5943L0 18.9086H26.2823C37.5398 18.9086 46.6982 27.6644 46.6982 38.4271V67.284L66.4729 51.4191V27.7559C66.4729 12.4522 53.4546 0.00304977 37.4472 0.00304977V0Z" fill="black"></path> 709 </svg></div> 710 </div> 711 <div class="arrow-icon bottom-left"> 712 <div class="arrow desctop w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="67" height="68" viewbox="0 0 67 68" fill="none"> 713 <path d="M29.0257 67.2842H49.8786L66.4729 48.3756H40.1906C28.9331 48.3756 19.7747 39.6197 19.7747 28.8571V0.00022124L-1.80592e-05 15.8651V39.5282C-1.80592e-05 54.832 13.0183 67.2811 29.0257 67.2811V67.2842Z" fill="currentColor"></path> 714 </svg></div> 715 <div class="arrow tablet w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="47" height="48" viewbox="0 0 67 68" fill="none"> 716 <path d="M29.0257 67.2842H49.8786L66.4729 48.3756H40.1906C28.9331 48.3756 19.7747 39.6197 19.7747 28.85
71671V0.00022124L-1.80592e-05 15.8651V39.5282C-1.80592e-05 54.832 13.0183 67.2811 29.0257 67.2811V67.2842Z" fill="currentColor"></path> 717 </svg></div> 718 <div class="arrow mobile w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="37" height="38" viewbox="0 0 67 68" fill="none"> 719 <path d="M29.0257 67.2842H49.8786L66.4729 48.3756H40.1906C28.9331 48.3756 19.7747 39.6197 19.7747 28.8571V0.00022124L-1.80592e-05 15.8651V39.5282C-1.80592e-05 54.832 13.0183 67.2811 29.0257 67.2811V67.2842Z" fill="currentColor"></path> 720 </svg></div> 721 </div> 722 <div class="arrow-icon"> 723 <div class="arrow desctop w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="67" height="68" viewbox="0 0 67 68" fill="none"> 724 <path d="M37.4472 67.2842H16.5943L0 48.3756H26.2823C37.5398 48.3756 46.6982 39.6197 46.6982 28.8571V0.00022124L66.4729 15.8651V39.5282C66.4729 54.832 53.4546 67.2811 37.4472 67.2811V67.2842Z" fill="currentColor"></path> 725 </svg></div> 726 <div class="arrow tablet w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="47" height="48" viewbox="0 0 67 68" fill="none"> 727 <path d="M37.4472 67.2842H16.5943L0 48.3756H26.2823C37.5398 48.3756 46.6982 39.6197 46.6982 28.8571V0.00022124L66.4729 15.8651V39.5282C66.4729 54.832 53.4546 67.2811 37.4472 67.2811V67.2842Z" fill="currentColor"></path> 728 </svg></div> 729 <div class="arrow mobile w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="37" height="38" viewbox="0 0 67 68" fill="none"> 730 <path d="M37.4472 67.2842H16.5943L0 48.3756H26.2823C37.5398 48.3756 46.6982 39.6197 46.6982 28.8571V0.00022124L66.4729 15.8651V39.5282C66.4729 54.832 53.4546 67.2811 37.4472 67.2811V67.2842Z" fill="currentColor"></path> 731 </svg></div> 732 </div> 733 </div><span data-button-animate-chars="" class="btn-animate-chars__text impact">Letâs talk</span> 734 </a> 735 </div> 736 <div class="w-layout-grid _12-grid singlelrow join"> 737 <a aria-label="staggering-button" id="w-node-_0eefe3b2-d523-d0c1-d403-768206ed5ccf-80fa687c" data-w-id="0eefe3b2-d523-d0c1-d403-768206ed5ccf" href="https://jobs.lever.co/rivr" target="_blank" class="contact-cta w-inline-block"> 738 <div class="w-embed"> 739 <style> 740/* Characters */ 741.contact-cta [data-button-animate-chars] { 742 overflow: hidden; 743 position: relative; 744 display: inline-block; 745} 746.contact-cta [data-button-animate-chars] span { 747 display: inline-block; 748 position: relative; 749 text-shadow: 0px 1.3em currentColor; 750 transform: translateY(0em) rotate(0.001deg); 751 transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1); 752} 753.contact-cta:hover [data-button-animate-chars] span { 754 transform: translateY(-1.3em) rotate(0.001deg); 755} 756/* Background */ 757.background-area-zoom { 758 inset: 0; 759 transition: inset 0.6s cubic-bezier(0.625, 0.05, 0, 1); 760} 761.contact-cta:hover .background-area-zoom { 762 inset: 2vw; 763} 764</style> 765 </div> 766 <div class="background-area-zoom"> 767 <div class="arrow-icon top-left"> 768 <div class="arrow desctop w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="67" height="68" viewbox="0 0 67 68" fill="none"> 769 <path d="M29.0257 0H49.8786L66.4729 18.9086H40.1906C28.9331 18.9086 19.7747 27.6644 19.7747 38.4271V67.284L-1.80592e-05 51.4191V27.7559C-1.80592e-05 12.4522 13.0183 0.00304977 29.0257 0.00304977V0Z" fill="currentColor"></path> 770 </svg></div> 771 <div class="arrow tablet w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="47" height="48" viewbox="0 0 67 68" fill="none"> 772 <path d="M29.0257 0H49.8786L66.4729 18.9086H40.1906C28.9331 18.9086 19.7747 27.6644 19.7747 38.4271V67.284L-1.80592e-05 51.4191V27.7559C-1.80592e-05 12.4522 13.0183 0.00304977 29.0257 0.00304977V0Z" fill="currentColor"></path> 773 </svg></div> 774 <div class="arrow mobile w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="37" height="38" viewbox="0 0 67 68" fill="none"> 775 <path d="M29.0257 0H49.8786L66.4729 18.9086H40.1906C28.9331 18.9086 19.7747 27.6644 19.7747 38.4271V67.284L-1.80592e-05 51.4191V27.7559C-1.80592e-05 12.4522 13.0183 0.00304977 29.0257 0.00304977V0Z" fill="currentColor"></path> 776 </svg></div> 777 </div> 778 <div class="arrow-icon top-right"> 779 <div class="arrow desctop w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="67" height="68" viewbox="0 0 67 68" fill="none"> 780 <path d="M37.4472 0H16.5943L0 18.9086H26.2823C37.5398 18.9086 46.6982 27.
7806644 46.6982 38.4271V67.284L66.4729 51.4191V27.7559C66.4729 12.4522 53.4546 0.00304977 37.4472 0.00304977V0Z" fill="black"></path> 781 </svg></div> 782 <div class="arrow tablet w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="47" height="48" viewbox="0 0 67 68" fill="none"> 783 <path d="M37.4472 0H16.5943L0 18.9086H26.2823C37.5398 18.9086 46.6982 27.6644 46.6982 38.4271V67.284L66.4729 51.4191V27.7559C66.4729 12.4522 53.4546 0.00304977 37.4472 0.00304977V0Z" fill="black"></path> 784 </svg></div> 785 <div class="arrow mobile w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="37" height="38" viewbox="0 0 67 68" fill="none"> 786 <path d="M37.4472 0H16.5943L0 18.9086H26.2823C37.5398 18.9086 46.6982 27.6644 46.6982 38.4271V67.284L66.4729 51.4191V27.7559C66.4729 12.4522 53.4546 0.00304977 37.4472 0.00304977V0Z" fill="black"></path> 787 </svg></div> 788 </div> 789 <div class="arrow-icon bottom-left"> 790 <div class="arrow desctop w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="67" height="68" viewbox="0 0 67 68" fill="none"> 791 <path d="M29.0257 67.2842H49.8786L66.4729 48.3756H40.1906C28.9331 48.3756 19.7747 39.6197 19.7747 28.8571V0.00022124L-1.80592e-05 15.8651V39.5282C-1.80592e-05 54.832 13.0183 67.2811 29.0257 67.2811V67.2842Z" fill="currentColor"></path> 792 </svg></div> 793 <div class="arrow tablet w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="47" height="48" viewbox="0 0 67 68" fill="none"> 794 <path d="M29.0257 67.2842H49.8786L66.4729 48.3756H40.1906C28.9331 48.3756 19.7747 39.6197 19.7747 28.8571V0.00022124L-1.80592e-05 15.8651V39.5282C-1.80592e-05 54.832 13.0183 67.2811 29.0257 67.2811V67.2842Z" fill="currentColor"></path> 795 </svg></div> 796 <div class="arrow mobile w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="37" height="38" viewbox="0 0 67 68" fill="none"> 797 <path d="M29.0257 67.2842H49.8786L66.4729 48.3756H40.1906C28.9331 48.3756 19.7747 39.6197 19.7747 28.8571V0.00022124L-1.80592e-05 15.8651V39.5282C-1.80592e-05 54.832 13.0183 67.2811 29.0257 67.2811V67.2842Z" fill="currentColor"></path> 798 </svg></div> 799 </div> 800 <div class="arrow-icon"> 801 <div class="arrow desctop w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="67" height="68" viewbox="0 0 67 68" fill="none"> 802 <path d="M37.4472 67.2842H16.5943L0 48.3756H26.2823C37.5398 48.3756 46.6982 39.6197 46.6982 28.8571V0.00022124L66.4729 15.8651V39.5282C66.4729 54.832 53.4546 67.2811 37.4472 67.2811V67.2842Z" fill="currentColor"></path> 803 </svg></div> 804 <div class="arrow tablet w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="47" height="48" viewbox="0 0 67 68" fill="none"> 805 <path d="M37.4472 67.2842H16.5943L0 48.3756H26.2823C37.5398 48.3756 46.6982 39.6197 46.6982 28.8571V0.00022124L66.4729 15.8651V39.5282C66.4729 54.832 53.4546 67.2811 37.4472 67.2811V67.2842Z" fill="currentColor"></path> 806 </svg></div> 807 <div class="arrow mobile w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="37" height="38" viewbox="0 0 67 68" fill="none"> 808 <path d="M37.4472 67.2842H16.5943L0 48.3756H26.2823C37.5398 48.3756 46.6982 39.6197 46.6982 28.8571V0.00022124L66.4729 15.8651V39.5282C66.4729 54.832 53.4546 67.2811 37.4472 67.2811V67.2842Z" fill="currentColor"></path> 809 </svg></div> 810 </div> 811 </div><span data-button-animate-chars="" class="btn-animate-chars__text impact">Join us</span> 812 </a> 813 </div> 814 </div> 815 <div class="footer-wrapper"> 816 <div class="footer"> 817 <div class="w-layout-grid _12-grid"> 818 <a id="w-node-_7497d664-66ca-fccf-8007-733d80fa688f-80fa687c" href="index.html" class="footer-logo w-inline-block"> 819 <div class="logo-svg main w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="auto" height="auto" viewbox="0 0 255 80" fill="none"> 820 <path d="M95.5391 0H78.2148V78.777H95.5391V0Z" fill="currentColor"></path> 821 <path d="M17.3242 0H0V78.777H17.3242V0Z" fill="currentColor"></path> 822 <path d="M45.0928 0H28.4386L15.1855 15.8577H36.1759C45.1667 15.8577 52.481 23.2009 52.481 32.227V56.4279L68.2741 43.1227V23.2776C68.2741 10.4431 57.877 0.0025577 45.0928 0.0025577V0Z" fill="currentColor"></path> 823 <path d="M59.0713 80.0005L69.5524 67.4601L26.5476 31.2329L16.0664 43.7733L59.0713 80.0005Z" fill="currentColor"></path> 824 <path d="M202.539 0H185.215V78.777H202.539V0Z" fill="currentColor"></path> 825 <path d="M230.308 0H213.653L200.4 15.8577H221.391C230.382 15.8577 237.696 23.2009 237.696 32.227V56.4279L253.489 43.1227V23.2776C253.489 10.4431 243.092 0.0025577 230.308 0.0025577V0Z" fill="currentColor"></path> 826 <path d="M244.286 80.0005L254.767 67.4601L211.762 31.2329L201.281 43.7733L244.286 80.0005Z" fill="currentColor"></path> 827 <path d="M120.558 0H102.641L123.651 78.7182H141.06L120.558 0Z" fill="currentColor"></path> 828 <path d="M157.1 78.7182H139.691L160.193 0H178.11L157.1 78.7182Z" fill="currentColor"></path> 829 </svg></div> 830 <div class="logo-svg main mobile w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="196px" height="auto" viewbox="0 0 255 80" fill="none"> 831 <path d="M95.5391 0H78.2148V78.777H95.5391V0Z" fill="currentColor"></path> 832 <path d="M17.3242 0H0V78.777H17.3242V0Z" fill="currentColor"></path> 833 <path d="M45.0928 0H28.4386L15.1855 15.8577H36.1759C45.1667 15.8577 52.481 23.2009 52.481 32.227V56.4279L68.2741 43.1227V23.2776C68.2741 10.4431 57.877 0.0025577 45.0928 0.0025577V0Z" fill="currentColor"></path> 834 <path d="M59.0713 80.0005L69.5524 67.4601L26.5476 31.2329L16.0664 43.7733L59.0713 80.0005Z" fill="currentColor"></path> 835 <path d="M202.539 0H185.215V78.777H202.539V0Z" fill="currentColor"></path> 836 <path d="M230.308 0H213.653L200.4 15.8577H221.391C230.382 15.8577 237.696 23.2009 237.696 32.227V56.4279L253.489 43.1227V23.2776C253.489 10.4431 243.092 0.0025577 230.308 0.0025577V0Z" fill="currentColor"></path> 837 <path d="M244.286 80.0005L254.767 67.4601L211.762 31.2329L201.281 43.7733L244.286 80.0005Z" fill="currentColor"></path> 838 <path d="M120.558 0H102.641L123.651 78.7182H141.06L120.558 0Z" fill="currentColor"></path> 839 <path d="M157.1 78.7182H139.691L160.193 0H178.11L157.1 78.7182Z" fill="currentColor"></path> 840 </svg></div> 841 </a> 842 <div id="w-node-_7497d664-66ca-fccf-8007-733d80fa6891-80fa687c" class="footer-link-wrapper"> 843 <div class="quicklinks"> 844 <div class="mainnav-list"> 845 <a href="index.html" class="quicklink w-inline-block"> 846 <div class="p-14">Home</div> 847 </a> 848 <a href="solution.html" class="quicklink w-inline-block"> 849 <div class="p-14">Solutions</div> 850 </a> 851 <a href="product.html" class="quicklink w-inline-block"> 852 <div class="p-14">Product</div> 853 </a> 854 <a href="technology.html" class="quicklink w-inline-block"> 855 <div class="p-14">Technology</div> 856 </a> 857 <a href="about-rivr.html" aria-current="page" class="quicklink w-inline-block w--current"> 858 <div class="p-14">About RIVR</div> 859 </a> 860 <div class="quicklinks-indicator-script w-embed w-script"> 861
861<script> 862document.addEventListener("DOMContentLoaded", () => { 863 const indicator = document.querySelector(".indicator"); 864 const quicklinks = document.querySelectorAll(".quicklink"); 865 const parent = document.querySelector(".quicklinks"); 866 function moveIndicator(link) { 867 const linkRect = link.getBoundingClientRect(); 868 const parentRect = parent.getBoundingClientRect(); 869 // Position relative to the parent container 870 const offsetX = linkRect.left - parentRect.left; 871 const offsetY = linkRect.top - parentRect.top; 872 indicator.style.transform = `translate(${offsetX - indicator.offsetWidth / 2}px, ${offsetY + linkRect.height / 2 - indicator.offsetHeight / 2}px)`; 873 indicator.style.opacity = "1"; // Make it visible 874 } 875 // Find the Webflow current link (.w--current) 876 const currentLink = document.querySelector(".quicklink.w--current"); 877 if (currentLink) { 878 moveIndicator(currentLink); 879 } else { 880 indicator.style.opacity = "0"; // Hide if no current link 881 } 882 quicklinks.forEach(link => { 883 link.addEventListener("mouseenter", () => moveIndicator(link)); 884 }); 885 document.querySelector(".quicklinks").addEventListener("mouseleave", () => { 886 if (currentLink) { 887 moveIndicator(currentLink); // Keep indicator on the current link 888 } else { 889 indicator.style.opacity = "0"; // Hide if no match 890 } 891 }); 892 // Adjust position when the page is resized (to handle responsive changes) 893 window.addEventListener("resize", () => { 894 if (currentLink) moveIndicator(currentLink); 895 }); 896}); 897</script>
897 898 </div> 899 </div> 900 <div class="metanav-list"> 901 <a href="careers.html" class="quicklink w-inline-block"> 902 <div class="p-14">Careers</div> 903 </a> 904 <a href="stories.html" class="quicklink w-inline-block"> 905 <div class="p-14">Stories</div> 906 </a> 907 <a href="rivr-privacy-policy.html" class="quicklink w-inline-block"> 908 <div class="p-14">Privacy Policy</div> 909 </a> 910 </div> 911 <div class="metanav-list hide"> 912 <a href="#" class="quicklink w-inline-block"> 913 <div class="p-14">Imprint</div> 914 </a> 915 <a href="#" class="quicklink w-inline-block"> 916 <div class="p-14">Data Security</div> 917 </a> 918 </div> 919 <div class="indicator w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewbox="0 0 7 9" fill="none"> 920 <path d="M5.14431 2.41256L3.34955 0.755554L0.313525 0.921336L2.57557 3.00976C3.54447 3.9043 3.58821 5.31941 2.67306 6.16431L0.21936 8.42968L3.27031 8.75555L5.28238 6.89791C6.58366 5.69652 6.52202 3.68452 5.14431 2.41256Z" fill="currentColor"></path> 921 </svg></div> 922 <div class="indicator"></div> 923 </div> 924 <div class="social-list"> 925 <a href="https://www.linkedin.com/company/rivr-technologies" target="_blank" class="some w-inline-block"> 926 <div class="social-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none"> 927 <g clip-path="url(#clip0_178_455)"> 928 <path fill-rule="evenodd" clip-rule="evenodd" d="M19.2008 18H16.0008V13.3334C16.0008 12.1334 15.5341 11.2667 14.4008 11.2667C13.2674 11.2667 13.0674 11.8 12.8674 12.3334C12.8008 12.5334 12.8008 12.8 12.8008 13.0667V18H9.66745C9.66745 18 9.73411 9.80003 9.66745 9.00003H12.8008V10.4C13.0008 9.80003 14.0008 8.93337 15.6008 8.93337C17.2008 8.93337 19.1341 10.2 19.1341 13V18H19.2008ZM6.46745 7.93337C5.40078 7.93337 4.80078 7.2667 4.80078 6.40003C4.80078 5.53337 5.46745 4.8667 6.53411 4.8667C7.60078 4.8667 8.20078 5.53337 8.20078 6.40003C8.20078 7.20003 7.53411 7.93337 6.46745 7.93337ZM5.13411 9.00003H8.00078V18H5.13411V9.00003Z" fill="currentColor"></path> 929 </g> 930 <defs> 931 <clippath id="clip0_178_455"> 932 <rect width="24" height="24" fill="currentColor"></rect> 933 </clippath> 934 </defs> 935 </svg></div> 936 </a> 937 <a href="https://x.com/rivr_tech" target="_blank" class="some w-inline-block"> 938 <div class="social-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none"> 939 <path d="M16.1979 5H18.5729L13.3843 10.9303L19.4883 19H14.7089L10.9655 14.1057L6.68226 19H4.30585L9.85559 12.6569L4 5H8.90072L12.2844 9.47354L16.1979 5ZM15.3644 17.5785H16.6804L8.18564 6.34687H6.77344L15.3644 17.5785Z" fill="currentColor"></path> 940 </svg></div> 941 </a> 942 <a href="https://www.youtube.com/@RIVR_Technologies" target="_blank" class="some w-inline-block"> 943 <div class="social-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none"> 944 <g clip-path="url(#clip0_178_463)"> 945 <path fill-rule="evenodd" clip-rule="evenodd" d="M10.5346 14.0666V10.0666L14.4013 12.0666L10.5346 14.0666ZM19.068 9.39994C19.068 9.39994 18.9346 8.39994 18.468 7.99994C17.9346 7.39994 17.3346 7.39994 17.0013 7.39994C15.0013 7.2666 11.9346 7.2666 11.9346 7.2666C11.9346 7.2666 8.93464 7.2666 6.86797 7.39994C6.6013 7.39994 6.0013 7.4666 5.4013 7.99994C5.0013 8.4666 4.8013 9.39994 4.8013 9.39994C4.8013 9.39994 4.66797 10.5333 4.66797 11.7333V12.7999C4.66797 13.9333 4.8013 15.1333 4.8013 15.1333C4.8013 15.1333 4.93464 16.1333 5.4013 16.5333C5.93464 17.1333 6.66797 17.0666 7.0013 17.1333C8.13464 17.2666 11.868 17.2666 11.868 17.2666C11.868 17.2666 14.868 17.2666 16.9346 17.1333C17.2013 17.0666 17.8013 17.0666 18.4013 16.5333C18.8013 16.0666 19.0013 15.1333 19.0013 15.1333C19.0013 15.1333 19.1346 13.9999 19.1346 12.7999V11.7333C19.1346 10.5333 19.068 9.39994 19.068 9.39994Z" fill="currentColor"></path> 946 </g> 947 <defs> 948 <clippath id="clip0_178_463"> 949 <rect width="24" height="24" fill="currentColor"></rect> 950 </clippath> 951 </defs> 952 </svg></div> 953 </a> 954 <a href="#" class="some hide w-inline-block"> 955 <div class="social-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none"> 956 <g clip-path="url(#clip0_178_467)"> 957 <path d="M13.2651 12.5998V19.1998H10.5984V12.5998H8.39844V10.0665H10.5984V8.1998C10.5984 5.9998 11.9318 4.7998 13.8651 4.7998C15.7984 4.7998 15.5984 4.7998 15.8651 4.93314V7.1998H14.5318C13.4651 7.1998 13.2651 7.73314 13.2651 8.46647V10.1331H15.7984L15.4651 12.6665H13.2651V12.5998Z" fill="currentColor"></path> 958 </g> 959 <defs> 960 <clippath id="clip0_178_467"> 961 <rect width="24" height="24" fill="currentColor"></rect> 962 </clippath> 963 </defs> 964 </svg></div> 965 </a> 966 <a href="https://www.instagram.com/rivr_ai/" target="_blank" class="some w-inline-block"> 967 <div class="social-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none"> 968 <g clip-path="url(#clip0_178_459)"> 969 <path d="M12.0005 6.06673C13.9339 6.06673
96914.1339 6.06673 14.9339 6.1334C15.6672 6.1334 16.0005 6.26673 16.2672 6.40007C16.6005 6.5334 16.8672 6.66673 17.0672 6.9334C17.3339 7.20006 17.4672 7.40007 17.6005 7.7334C17.6672 8.00007 17.8005 8.40007 17.8672 9.06673C17.9339 9.80007 17.9339 10.0667 17.9339 12.0001C17.9339 13.9334 17.9339 14.1334 17.8672 14.9334C17.8672 15.6667 17.7339 16.0001 17.6005 16.2667C17.4672 16.6001 17.3339 16.8667 17.0672 17.0667C16.8005 17.3334 16.6005 17.4667 16.2672 17.6001C16.0005 17.6667 15.6005 17.8001 14.9339 17.8667C14.2005 17.9334 13.9339 17.9334 12.0005 17.9334C10.0672 17.9334 9.86719 17.9334 9.06719 17.8667C8.33385 17.8667 8.00052 17.7334 7.73385 17.6001C7.40052 17.4667 7.13385 17.3334 6.93385 17.0667C6.66719 16.8001 6.53385 16.6001 6.40052 16.2667C6.33385 16.0001 6.20052 15.6001 6.13385 14.9334C6.06719 14.2001 6.06719 13.9334 6.06719 12.0001C6.06719 10.0667 6.06719 9.86673 6.13385 9.06673C6.13385 8.3334 6.26719 8.00007 6.40052 7.7334C6.53385 7.40007 6.66719 7.1334 6.93385 6.9334C7.20052 6.66673 7.40052 6.5334 7.73385 6.40007C8.00052 6.3334 8.40052 6.20007 9.06719 6.1334C9.86719 6.1334 10.0672 6.06673 12.0005 6.06673ZM12.0005 4.80007C10.0672 4.80007 9.80052 4.80007 9.00052 4.80007C8.26719 4.80007 7.73385 4.9334 7.26719 5.1334C6.80052 5.26673 6.40052 5.5334 6.00052 5.9334C5.60052 6.3334 5.33385 6.7334 5.20052 7.20007C5.00052 7.66673 4.93385 8.20007 4.86719 8.9334C4.86719 9.7334 4.86719 9.9334 4.86719 11.9334C4.86719 13.9334 4.86719 14.1334 4.86719 14.9334C4.86719 15.6667 5.00052 16.2001 5.20052 16.6667C5.33385 17.1334 5.60052 17.5334 6.00052 17.9334C6.40052 18.3334 6.80052 18.6001 7.26719 18.7334C7.73385 18.9334 8.26719 19.0001 9.00052 19.0667C9.80052 19.1334 10.0005 19.1334 12.0005 19.1334C14.0005 19.1334 14.2005 19.1334 15.0005 19.0667C15.7339 19.0001 16.2672 18.9334 16.7339 18.7334C17.2005 18.5334 17.6005 18.3334 18.0005 17.9334C18.4005 17.5334 18.6672 17.1334 18.8005 16.6667C19.0005 16.2001 19.0672 15.6667 19.1339 14.9334C19.2005 14.1334 19.2005 13.9334 19.2005 11.9334C19.2005 9.9334 19.2005 9.7334 19.1339 8.9334C19.0672 8.20007 19.0005 7.66673 18.8005 7.20007C18.6672 6.7334 18.4005 6.3334 18.0005 5.9334C17.6005 5.5334 17.2005 5.26673 16.7339 5.1334C16.2672 4.9334 15.7339 4.86673 15.0005 4.80007C14.2005 4.7334 13.9339 4.7334 12.0005 4.7334V4.80007ZM12.0005 8.3334C9.93385 8.3334 8.33385 10.0001 8.33385 12.0001C8.33385 14.0001 10.0005 15.6667 12.0005 15.6667C14.0005 15.6667 15.6672 14.0001 15.6672 12.0001C15.6672 10.0001 14.0672 8.3334 12.0005 8.3334ZM12.0005 14.4001C10.6672 14.4001 9.60052 13.3334 9.60052 12.0001C9.60052 10.6667 10.6672 9.60007 12.0005 9.60007C13.3339 9.60007 14.4005 10.6667 14.4005 12.0001C14.4005 13.3334 13.3339 14.4001 12.0005 14.4001ZM16.7339 8.1334C16.7339 8.60007 16.3339 9.00007 15.8672 9.00007C15.4005 9.00007 15.0005 8.60007 15.0005 8.1334C15.0005 7.66673 15.4005 7.26673 15.8672 7.26673C16.3339 7.26673 16.7339 7.66673 16.7339 8.1334Z" fill="currentColor"></path> 970 </g> 971 <defs> 972 <clippath id="clip0_178_459"> 973 <rect width="24" height="24" fill="currentColor"></rect> 974 </clippath> 975 </defs> 976 </svg></div> 977 </a> 978 <a href="https://www.tiktok.com/@rivr_ai" target="_blank" class="some w-inline-block"> 979 <div class="social-icon w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none"> 980 <path d="M12.2188 4V14.9105C12.2188 15.4884 11.9908 16.0426 11.585 16.4513C11.1791 16.8599 10.6287 17.0895 10.0547 17.0895C9.48075 17.0895 8.93029 16.8599 8.52444 16.4513C8.11859 16.0426 7.89059 15.4884 7.89059 14.9105C7.89058 14.3319 8.11835 13.7768 8.52398 13.367C8.92961 12.9571 9.48004 12.7258 10.0547 12.7238V9.82098C8.71411 9.82098 7.42843 10.3572 6.48049 11.3117C5.53255 12.2661 5 13.5607 5 14.9105C5 16.2603 5.53255 17.5549 6.48049 18.5093C7.42843 19.4638 8.71411 20 10.0547 20C11.3953 20 12.681 19.4638 13.6289 18.5093C14.5769 17.5549 15.1094 16.2603 15.1094 14.9105V9.82098L15.2624 9.89798C16.1134 10.3226 17.0502 10.5439 18 10.5448V7.63426H17.9159C17.114 7.43312 16.402 6.96754 15.8934 6.311
9807C15.3848 5.65586 15.1088 4.84749 15.1094 4.0154H12.2188V4Z" stroke="currentColor" stroke-width="1.5" stroke-miterlimit="10"></path> 981 </svg></div> 982 </a> 983 </div> 984 </div> 985 <div id="w-node-_7497d664-66ca-fccf-8007-733d80fa68c0-80fa687c" class="contact-bottom"> 986 <div class="h4">Ready to integrate RIVR into your delivery operations? Letâs talk.</div> 987 <div class="button-group"> 988 <div fs-modal-element="open-2" class="contac-cta-trigger mobile"> 989 <a aria-label="staggering button" data-wf--cta-button--variant="grey1" href="https://jobs.lever.co/rivr" target="_blank" class="btn-animate-chars button-small w-inline-block"> 990 <div class="btn-animate-chars__bg button"></div><span data-button-animate-chars="" class="btn-animate-chars__text">Join us</span> 991 <div class="code-embed hide secundary-9 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="13" viewbox="0 0 10 13" fill="none"> 992 <path d="M8.25709 10.2571C10.3207 8.19348 10.3207 4.835 8.25709 2.77138L5.65466 0.168945L0.964844 0.578784L4.26731 3.88126C5.71915 5.33309 5.7183 7.69454 4.26732 9.14552L0.964844 12.448L5.65466 12.8578L8.25709 10.2554L8.25709 10.2571Z" fill="CurrentColor"></path> 993 </svg></div> 994 </a> 995 </div> 996 <div class="contac-cta-trigger"> 997 <a aria-label="staggering button" data-wf--cta-rich--variant="secundary" href="https://jobs.lever.co/rivr" target="_blank" class="btn-animate-chars w-variant-d5e1c0e8-1a03-528d-4977-2bd6ddbd59c5 w-inline-block"> 998 <div class="btn-animate-chars__bg w-variant-d5e1c0e8-1a03-528d-4977-2bd6ddbd59c5"></div><span data-button-animate-chars="" class="btn-animate-chars__text w-variant-d5e1c0e8-1a03-528d-4977-2bd6ddbd59c5">Join us</span> 999 <div class="code-embed hide w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="13" viewbox="0 0 10 13" fill="none"> 1000 <path d="M8.25709 10.2571C10.3207 8.19348 10.3207 4.835 8.25709 2.77138L5.65466 0.168945L0.964844 0.578784L4.26731 3.88126C5.71915 5.33309 5.7183 7.69454 4.26732 9.14552L0.964844 12.448L5.65466 12.8578L8.25709 10.2554L8.25709 10.2571Z" fill="CurrentColor"></path> 1001 </svg></div> 1002 </a> 1003 </div> 1004 <div fs-modal-element="open-2" data-w-id="31680305-5083-63fa-c19c-8bddb3161873" class="contac-cta-trigger mobile"> 1005 <a aria-label="staggering button" data-wf--cta-button--variant="yellow" href="#" class="btn-animate-chars button-small w-variant-bce3e7ce-d557-6f37-cfeb-b4eeed7f909f w-inline-block"> 1006 <div class="btn-animate-chars__bg w-variant-bce3e7ce-d557-6f37-cfeb-b4eeed7f909f button"></div><span data-button-animate-chars="" class="btn-animate-chars__text">Partner with us</span> 1007 <div class="code-embed hide secundary-9 w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="13" viewbox="0 0 10 13" fill="none"> 1008 <path d="M8.25709 10.2571C10.3207 8.19348 10.3207 4.835 8.25709 2.77138L5.65466 0.168945L0.964844 0.578784L4.26731 3.88126C5.71915 5.33309 5.7183 7.69454 4.26732 9.14552L0.964844 12.448L5.65466 12.8578L8.25709 10.2554L8.25709 10.2571Z" fill="CurrentColor"></path> 1009 </svg></div> 1010 </a> 1011 </div> 1012 <div fs-modal-element="open-2" data-w-id="8a57b94b-e0f6-9f81-c5a4-4ec47dd52214" class="contac-cta-trigger"> 1013 <a aria-label="staggering button" data-wf--cta-rich--variant="primary" href="#" class="btn-animate-chars w-inline-block"> 1014 <div class="btn-animate-chars__bg"></div><span data-button-animate-chars="" class="btn-animate-chars__text">Partner with us</span> 1015 <div class="code-embed hide w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="10" height="13" viewbox="0 0 10 13" fill="none"> 1016 <path d="M8.25709 10.2571C10.3207 8.19348 10.3207 4.835 8.25709 2.77138L5.65466 0.168945L0.964844 0.578784L4.26731 3.88126C5.71915 5.33309 5.7183 7.69454 4.26732 9.14552L0.964844 12.448L5.65466 12.8578L8.25709 10.2554L8.25709 10.2571Z" fill="CurrentColor"></path> 1017 </svg></div> 1018 </a> 1019 </div> 1020 </div> 1021 </div> 1022 </div> 1023 </div> 1024 </div> 1025 </section> 1026 <div fs-consent-element="internal-component" class="fs-consent_component"> 1027 <div fs-consent-easing="ease" fs-consent-element="banner" fs-consent-animation="fade" fs-consent-duration="300" class="fs-consent_banner"> 1028 <div class="fs-consent_banner_wrapper"> 1029 <p class="fs-consent_banner_paragraph">We use cookies for optimization.</p> 1030 <div fs-consent-element="internal-buttons-wrapper" class="fs-consent_banner_buttons"> 1031 <a fs-consent-element="allow" href="#" class="fs-consent_allow w-button">Ok, got it</a> 1032 </div> 1033 </div> 1034 </div> 1035 </div> 1036
1036<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=678fa1df881122e8d132e8cf" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
1036 1037
1037<script src="js/webflow.js" type="text/javascript"></script>
1037 1038
1038<script> 1039function initButtonCharacterStagger() { 1040 const offsetIncrement = 0.009; // Transition offset increment in seconds 1041 const buttons = document.querySelectorAll('[data-button-animate-chars]'); 1042 buttons.forEach(button => { 1043 const text = button.textContent; // Get the button's text content 1044 button.innerHTML = ''; // Clear the original content 1045 [...text].forEach((char, index) => { 1046 const span = document.createElement('span'); 1047 span.textContent = char; 1048 span.style.transitionDelay = `${index * offsetIncrement}s`; 1049 // Handle spaces explicitly 1050 if (char === ' ') { 1051 span.style.whiteSpace = 'pre'; // Preserve space width 1052 } 1053 button.appendChild(span); 1054 }); 1055 }); 1056} 1057// Initialize Button Character Stagger Animation 1058document.addEventListener('DOMContentLoaded', () => { 1059 initButtonCharacterStagger(); 1060}); 1061</script>
1061 1062
1062<script> 1063 // Lenis 1064const lenis = new Lenis({ 1065 autoRaf: true, 1066}); 1067</script>
1067 1068 <!-- Crazy Scroll Reveal --> 1069
1069<script> 1070gsap.registerPlugin(ScrollTrigger); 1071gsap.utils.toArray("[data-trigger]").forEach((trigger, index, triggers) => { 1072 let currentID = trigger.getAttribute("data-trigger"); 1073 let currentImageContainer = document.querySelector(`[data-image="${currentID}"]`); 1074 let currentImage = currentImageContainer?.querySelector(".sticky-image"); 1075 let nextTrigger = triggers[index + 1]; 1076 let nextImageContainer = nextTrigger ? document.querySelector(`[data-image="${nextTrigger.getAttribute("data-trigger")}"]`) : null; 1077 let nextImage = nextImageContainer?.querySelector(".sticky-image"); 1078 if (currentImage && currentImageContainer) { 1079 // First image starts fully visible but with 20px cut from right 1080 gsap.set(currentImage, { 1081 clipPath: index === 0 ? "inset(0% 20px 0% 0% round 12px)" : "inset(100% 20px 0% 0% round 12px)" 1082 }); 1083 if (nextImage) { 1084 gsap.set(nextImage, { clipPath: "inset(100% 20px 0% 0% round 12px)" }); 1085 gsap.to([currentImage, nextImage], { 1086 clipPath: (i, target) => 1087 target === nextImage ? "inset(0% 20px 0% 0% round 12px)" : "inset(0% 20px 100% 0% round 12px)", 1088 ease: "none", 1089 scrollTrigger: { 1090 trigger: trigger, 1091 start: () => { 1092 let imageHeight = currentImageContainer.offsetHeight; 1093 let offset = imageHeight + (window.innerHeight * 0.10); 1094 return `bottom top+=${offset}px`; 1095 }, 1096 end: "bottom top+=10%", 1097 scrub: 0, 1098 invalidateOnRefresh: true, 1099 onEnter: () => console.log(`Triggering: Hide ${currentID}, Reveal ${nextTrigger.getAttribute("data-trigger")}`), 1100 } 1101 }); 1102 } 1103 } else { 1104 console.warn(`Missing elements for trigger ID: ${currentID}`); 1105 } 1106}); 1107// Force GSAP to refresh its calculations after page load 1108window.addEventListener("load", () => { 1109 ScrollTrigger.refresh(); 1110}); 1111</script>
1111 1112 <!-- Crazy Scroll Teaser --> 1113
1113<script> 1114gsap.registerPlugin(ScrollTrigger); 1115window.addEventListener("load", () => { 1116 let trigger = document.querySelector(".teaser-scroll-trigger"); 1117 let images = gsap.utils.toArray(".image-big"); 1118 if (!trigger || images.length !== 2) { 1119 console.warn("Make sure you have ONE .teaser-scroll-trigger and TWO .image-big images."); 1120 return; 1121 } 1122 let firstImage = images[0]; 1123 let secondImage = images[1]; 1124 // Set initial visibility of images and add border to bottom image 1125 gsap.set(firstImage, { clipPath: "inset(0% 20px 0% 0% round 12px)" }); 1126 gsap.set(secondImage, { 1127 clipPath: "inset(100% 20px 0% 0% round 12px)", 1128 }); 1129 let offset = window.innerHeight * 0.00555; // Convert 0.555% to pixels 1130 gsap.to([firstImage, secondImage], { 1131 clipPath: (i, target) => 1132 target === secondImage ? "inset(0% 20px 0% 0% round 12px)" : "inset(0% 20px 100% 0% round 12px)", 1133 ease: "none", 1134 scrollTrigger: { 1135 trigger: trigger, 1136 start: () => `top bottom-=${offset}px`, // Start transition 1137 end: () => `top top+=${offset}px`, // Complete transition 1138 scrub: true, 1139 invalidateOnRefresh: true, 1140 onEnter: () => console.log("Switching images"), 1141 } 1142 }); 1143 // Ensure GSAP recalculates positions after load 1144 ScrollTrigger.refresh(); 1145}); 1146</script>
1146 1147 <!-- Nav-Theme-Change --> 1148
1148<script> 1149function initCheckSectionThemeScroll() { 1150 // Get detection offset, in this case the navbar 1151 const navBarHeight = document.querySelector("[data-nav-bar-height]") 1152 const themeObserverOffset = navBarHeight ? navBarHeight.offsetHeight / 2 : 0; 1153 function checkThemeSection() { 1154 const themeSections = document.querySelectorAll("[data-theme-section]"); 1155 themeSections.forEach(function(themeSection) { 1156 const rect = themeSection.getBoundingClientRect(); 1157 const themeSectionTop = rect.top; 1158 const themeSectionBottom = rect.bottom; 1159 // If the offset is between the top & bottom of the current section 1160 if (themeSectionTop <= themeObserverOffset && themeSectionBottom >= themeObserverOffset) { 1161 // Check [data-theme-section] 1162 const themeSectionActive = themeSection.getAttribute("data-theme-section"); 1163 document.querySelectorAll("[data-theme-nav]").forEach(function(elem) { 1164 if (elem.getAttribute("data-theme-nav") !== themeSectionActive) { 1165 elem.setAttribute("data-theme-nav", themeSectionActive); 1166 } 1167 }); 1168 // Check [data-bg-section] 1169 const bgSectionActive = themeSection.getAttribute("data-bg-section"); 1170 document.querySelectorAll("[data-bg-nav]").forEach(function(elem) { 1171 if (elem.getAttribute("data-bg-nav") !== bgSectionActive) { 1172 elem.setAttribute("data-bg-nav", bgSectionActive); 1173 } 1174 }); 1175 } 1176 }); 1177 } 1178 function startThemeCheck() { 1179 document.addEventListener("scroll", checkThemeSection); 1180 } 1181 // Initial check and start listening for scroll 1182 checkThemeSection(); 1183 startThemeCheck(); 1184} 1185// Initialize Check Section Theme on Scroll 1186document.addEventListener('DOMContentLoaded', () => { 1187 initCheckSectionThemeScroll(); 1188}); 1189</script>
1189 1190
1190<script src="https://hubspotonwebflow.com/assets/js/form-124.js" type="text/javascript" integrity="sha384-bjyNIOqAKScdeQ3THsDZLGagNN56B4X2Auu9YZIGu+tA/PlggMk4jbWruG/P6zYj" crossorigin="anonymous"></script>
1190 1191</body> 1192</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.