1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" /> 6 <title>Pricing â Carrier & Broker Risk Checks | LongMile</title> 7 <meta name="description" content="Run free carrier and broker searches. Upgrade when your team needs monitoring, alerts, exports, and team workflows. Flat monthly pricing, no overage charges." /> 8 <meta name="robots" content="index, follow" /> 9 <meta name="application-name" content="LongMile" /> 10 <meta name="theme-color" content="#1f6d42" /> 11 <link rel="canonical" href="https://longmile.io/pricing" /> 12 <meta property="og:type" content="website" /> 13 <meta property="og:site_name" content="LongMile" /> 14 <meta property="og:url" content="https://longmile.io/pricing" /> 15 <meta property="og:title" content="Pricing â Carrier & Broker Risk Checks | LongMile" /> 16 <meta property="og:description" content="Run free carrier and broker searches. Upgrade when your team needs monitoring, alerts, exports, and team workflows. Flat monthly pricing, no overage charges." /> 17 <meta property="og:image" content="https://longmile.io/logo.png" /> 18 <meta name="twitter:card" content="summary_large_image" /> 19 <meta name="twitter:title" content="Pricing â Carrier & Broker Risk Checks | LongMile" /> 20 <meta name="twitter:description" content="Run free carrier and broker searches. Upgrade when your team needs monitoring, alerts, exports, and team workflows. Flat monthly pricing, no overage charges." /> 21 <meta name="twitter:image" content="https://longmile.io/logo.png" /> 22
22<script type="application/ld+json"> 23 { 24 "@context": "https://schema.org", 25 "@type": "SoftwareApplication", 26 "name": "LongMile", 27 "applicationCategory": "BusinessApplication", 28 "operatingSystem": "Web", 29 "url": "https://longmile.io/", 30 "description": "Carrier and broker intelligence for freight teams, including safety analysis, authority checks, bond checks, and chameleon carrier detection.", 31 "offers": { 32 "@type": "Offer", 33 "category": "SaaS" 34 } 35 } 36 </script>
36 37 <link rel="icon" type="image/png" href="/icon.png" /> 38 39 <!-- Self-hosted Inter: preload the Latin WOFF2 so it's ready before FCP --> 40 <link rel="preload" as="font" href="/fonts/inter-latin.woff2" type="font/woff2" crossorigin /> 41 42 <!-- Cloudflare Turnstile â async & deferred, never blocks render --> 43
43<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
43 44 45 <!-- Mono fonts (only needed in carrier detail views) â loaded non-blocking after page is interactive --> 46
46<script> 47 (function(){var l=document.createElement('link');l.rel='stylesheet';l.href='https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Fira+Code:wght@400&display=swap';l.media='print';l.onload=function(){this.media='all'};document.head.appendChild(l)})(); 48 </script>
48 49 50 <!-- Critical CSS: self-hosted @font-face + static shell styles. 51 Everything here is inline â zero blocking network requests. --> 52 <style> 53 @font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF} 54 @font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD} 55 *,::before,::after{box-sizing:border-box} 56 body{margin:0;font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:hsl(150,24%,97%);-webkit-font-smoothing:antialiased} 57 /* Neutral, brand-only loading shell. Deliberately NOT a copy of any page â 58 it paints instantly for fast FCP, then fades out the moment React mounts. 59 Keeping it content-free avoids the "flash of an old/stale page" that a 60 hand-maintained hero copy inevitably causes as the real UI evolves. */ 61 #shell{position:fixed;inset:0;z-index:50;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:hsl(150,24%,97%)} 62 #shell .logo{display:flex;align-items:center;justify-content:center} 63 #shell .logo-mark{width:min(68vw,320px);height:auto;-o-object-fit:contain;object-fit:contain;display:block} 64 #shell .spinner{width:26px;height:26px;border:3px solid rgba(22,101,52,.18);border-top-color:#166534;border-radius:50%;animation:lm-spin .7s linear infinite} 65 @keyframes lm-spin{to{transform:rotate(360deg)}} 66 </style> 67
67<script type="module" crossorigin src="/assets/index-BMeCVODT.js"></script>
67 68 <link rel="stylesheet" crossorigin href="/assets/index-eSUza_BH.css"> 69 </head> 70 <body> 71 <!-- Neutral loading shell: paints instantly (zero JS / zero blocking network), 72 then fades out the moment React mounts into #root. Intentionally just the 73 brand + spinner so it can never look like a stale/old version of a page. --> 74 <div id="shell" aria-hidden="true"> 75 <div class="logo"> 76 <img class="logo-mark" src="/logo.png" alt="" /> 77 </div> 78 <div class="spinner"></div> 79 </div> 80 81 <div id="root"></div> 82 83
83<script> 84 // Fade out the static shell once React has mounted into #root 85 (function(){ 86 var root=document.getElementById('root'); 87 var shell=document.getElementById('shell'); 88 if(!root||!shell)return; 89 var obs=new MutationObserver(function(){ 90 if(root.children.length>0){ 91 obs.disconnect(); 92 shell.style.transition='opacity 0.15s ease'; 93 shell.style.opacity='0'; 94 shell.style.pointerEvents='none'; 95 setTimeout(function(){shell.remove();},160); 96 } 97 }); 98 obs.observe(root,{childList:true}); 99 })(); 100 </script>
100 101 102 </body> 103</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.