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" /> 6<title>Ask â put a question to your economic data and get a sourced answer | Alphacast</title> 7<link rel="preconnect" href="https://fonts.googleapis.com" /> 8<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 9<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" rel="stylesheet" /> 10<style> 11 html { scroll-behavior: smooth; } 12 body { font-family:'Inter',sans-serif; } 13body { font-family:'Inter',sans-serif; } 14 .cursor::after { content:''; display:inline-block; width:.5ch; height:.82em; background:#503EDF; margin-left:.06em; vertical-align:-.02em; animation: blink 1.05s steps(1) infinite; } 15 @keyframes blink { 50%{ opacity:0 } } 16 .leaders { display:flex; align-items:baseline; gap:.5rem; } 17 .leaders .dots { flex:1; border-bottom:1px dotted #d4d4d8; transform: translateY(-.28em); } 18 .fig { font-variant-numeric: tabular-nums; letter-spacing:-.04em; } 19 .secnum { font-variant-numeric: tabular-nums; } 20 .rule { border-top:1px solid #e4e4e7; } 21 .dropfig { float:left; line-height:.8; margin:.08em .25em 0 0; } 22body { font-family:'Inter',sans-serif; } 23 .leaders { display:flex; align-items:baseline; gap:.5rem; } 24 .leaders .dots { flex:1; border-bottom:1px dotted #d4d4d8; transform: translateY(-.28em); } 25 .fig { font-variant-numeric: tabular-nums; letter-spacing:-.04em; } 26 .pulse { animation: pl 2s ease-in-out infinite; } 27 @keyframes pl { 0%,100%{ opacity:1 } 50%{ opacity:.35 } } 28body { font-family:'Inter',sans-serif; } 29 .fig { font-variant-numeric: tabular-nums; letter-spacing:-.04em; } 30 .syncdot { animation: sd 1.8s ease-in-out infinite; } 31 @keyframes sd { 0%,100%{ opacity:1 } 50%{ opacity:.3 } } 32 .wire { stroke-dasharray:4 6; animation: wire 1s linear infinite; } 33 @keyframes wire { to { stroke-dashoffset:-20 } } 34body { font-family:'Inter',sans-serif; } 35 .fig { font-variant-numeric: tabular-nums; letter-spacing:-.04em; } 36 .ask-hero-frame { padding:1rem; } 37 .ask-hero-crop { border-radius:.75rem; } 38 section[id]{ scroll-margin-top:72px; } 39</style> 40 <link rel="stylesheet" href="/landing/css/ac-v2.css" /> 41 42 <meta name="description" content="Chat with a curated catalog of economic and financial data. Ask in plain language, get a sourced answer and a chart, with every figure traced back to its origin." /> 43 <link rel="canonical" href="https://www.alphacast.io/product/ask" /> 44 <meta property="og:type" content="website" /> 45 <meta property="og:site_name" content="Alphacast" /> 46 <meta property="og:url" content="https://www.alphacast.io/product/ask" /> 47 <meta property="og:title" content="Ask â put a question to your economic data and get a sourced answer | Alphacast" /> 48 <meta property="og:description" content="Chat with a curated catalog of economic and financial data. Ask in plain language, get a sourced answer and a chart, with every figure traced back to its origin." /> 49 <meta name="twitter:card" content="summary_large_image" /> 50</head> 51<body class="bg-white text-gray-900 antialiased"> 52<!-- ===== shared top nav (v2 landing) ===== --> 53<header class="sticky top-0 z-50 border-b border-gray-200 bg-white"> 54 <div class="max-w-7xl mx-auto px-6 h-16 flex items-center justify-between"> 55 <a href="/" class="flex items-center gap-2 shrink-0"> 56 <img src="/landing/images/alphacast.svg" alt="Alphacast" class="h-7 w-auto" /> 57 </a> 58 59 <!-- desktop nav --> 60 <nav class="hidden md:flex items-center gap-6 text-sm font-medium text-gray-600"> 61 <div class="relative group"> 62 <a href="/product/ask" class="flex items-center gap-1 py-5 hover:text-alphacast" aria-haspopup="true"> 63 Product 64 <svg class="h-4 w-4 text-gray-400 transition-transform group-hover:rotate-180" fill="none" viewBox="0 0 20 20"><path stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M6 8l4 4 4-4"/></svg> 65 </a> 66 <div class="invisible absolute left-1/2 top-full z-50 w-64 -translate-x-1/2 pt-1 opacity-0 transition-all duration-150 group-hover:visible group-hover:opacity-100 group-focus-within:visible group-focus-within:opacity-100"> 67 <div class="rounded-2xl border border-gray-200 bg-white p-2 shadow-xl shadow-gray-900/5"> 68 <a href="/product/ask" class="block rounded-xl px-3 py-2.5 hover:bg-gray-50"><span class="block font-semibold text-gray-900">Ask</span><span class="block text-xs text-gray-400">Sourced answers from the catalog</span></a> 69 <a href="/product/keep" class="block rounded-xl px-3 py-2.5 hover:bg-gray-50"><span class="block font-semibold text-gray-900">Keep</span><span class="block text-xs text-gray-400">Save work that stays alive</span></a> 70 <a href="/product/connect" class="block rounded-xl px-3 py-2.5 hover:bg-gray-50"><span class="block font-semibold text-gray-900">Connect</span><span class="block text-xs text-gray-400">Excel, API & MCP</span></a> 71 <a href="/product/build" class="block rounded-xl px-3 py-2.5 hover:bg-gray-50"><span class="block font-semibold text-gray-900">Build</span><span class="block text-xs text-gray-400">Embed for your audience</span></a> 72 <a href="/product/delegate" class="block rounded-xl px-3 py-2.5 hover:bg-gray-50"><span class="block font-semibold text-gray-900">Delegate</span><span class="block text-xs text-gray-400">Our team builds it with you</span></a> 73 <div class="my-1.5 h-px bg-gray-100"></div> 74 <a href="/features" class="block rounded-xl px-3 py-2 text-sm font-semibold text-alphacast hover:bg-gray-50">All features →</a> 75 </div> 76 </div> 77 </div> 78 79 80 <a href="/explore" class="hover:text-alphacast">Explore</a> 81 <a href="/api-mcp" class="hover:text-alphacast">Developers</a> 82 <a href="/pricing" class="hover:text-alphacast">Pricing</a> 83 </nav> 84 85 <!-- desktop actions --> 86 <div class="hidden md:flex items-center gap-3 text-sm font-semibold"> 87 <a href="/api/auth/login?returnTo=/home" class="text-gray-600 hover:text-gray-900">Log in</a> 88 <a href="/api/auth/signup?returnTo=/home" class="inline-flex items-center rounded-md bg-alphacast px-4 py-2 text-white hover:bg-alphacast-hover transition-colors">Sign Up</a> 89 </div> 90 91 <!-- mobile hamburger --> 92 <button data-nav-toggle aria-label="Menu" aria-expanded="false" class="md:hidden -mr-1 inline-flex h-10 w-10 items-center justify-center rounded-md text-gray-700 hover:bg-gray-100"> 93 <svg data-nav-open class="h-6 w-6" fill="none" viewBox="0 0 24 24">
93<path stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M4 7h16M4 12h16M4 17h16"/></svg> 94 <svg data-nav-close class="hidden h-6 w-6" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M6 6l12 12M18 6L6 18"/></svg> 95 </button> 96 </div> 97 98 <!-- mobile menu --> 99 <div data-nav-menu class="hidden md:hidden border-t border-gray-200 bg-white"> 100 <nav class="max-w-7xl mx-auto px-6 py-4 flex flex-col gap-1 text-sm font-medium text-gray-700"> 101 <p class="px-1 pt-2 pb-1 text-xs font-bold uppercase tracking-wider text-gray-400">Product</p> 102 <a href="/product/ask" class="rounded-md px-1 py-2 hover:text-alphacast">Ask</a> 103 <a href="/product/keep" class="rounded-md px-1 py-2 hover:text-alphacast">Keep</a> 104 <a href="/product/connect" class="rounded-md px-1 py-2 hover:text-alphacast">Connect</a> 105 <a href="/product/build" class="rounded-md px-1 py-2 hover:text-alphacast">Build</a> 106 <a href="/product/delegate" class="rounded-md px-1 py-2 hover:text-alphacast">Delegate</a> 107 <a href="/features" class="rounded-md px-1 py-2 font-semibold text-alphacast">All features →</a> 108 <div class="my-2 h-px bg-gray-100"></div> 109 <a href="/explore" class="rounded-md px-1 py-2 hover:text-alphacast">Explore</a> 110 <a href="/api-mcp" class="rounded-md px-1 py-2 hover:text-alphacast">Developers</a> 111 <a href="/pricing" class="rounded-md px-1 py-2 hover:text-alphacast">Pricing</a> 112 <div class="mt-3 flex flex-col gap-2"> 113 <a href="/api/auth/login?returnTo=/home" class="rounded-md border border-gray-300 px-4 py-2.5 text-center font-semibold text-gray-900 hover:bg-gray-50">Log in</a> 114 <a href="/api/auth/signup?returnTo=/home" class="rounded-md bg-alphacast px-4 py-2.5 text-center font-semibold text-white hover:bg-alphacast-hover">Sign Up</a> 115 </div> 116 </nav> 117 </div> 118 119
119<script> 120 (function () { 121 var btn = document.querySelector('[data-nav-toggle]'); 122 var menu = document.querySelector('[data-nav-menu]'); 123 if (!btn || !menu) return; 124 var openIcon = btn.querySelector('[data-nav-open]'); 125 var closeIcon = btn.querySelector('[data-nav-close]'); 126 btn.addEventListener('click', function () { 127 var open = menu.classList.toggle('hidden') === false; 128 btn.setAttribute('aria-expanded', open ? 'true' : 'false'); 129 if (openIcon) openIcon.classList.toggle('hidden', open); 130 if (closeIcon) closeIcon.classList.toggle('hidden', !open); 131 }); 132 })(); 133 </script>
133 134</header> 135<section id="ask" data-screen-label="Ask"><main class="max-w-7xl mx-auto px-6"> 136 137 <!-- masthead --> 138 <div class="flex flex-wrap items-baseline justify-between gap-x-6 gap-y-2 border-b border-gray-200 py-5"> 139 <span class="text-xs font-bold uppercase tracking-[0.22em] text-alphacast">Ask</span> 140 </div> 141 142 <!-- HERO â the headline IS the question, and it rotates through real answers --> 143 <section id="askhero" class="grid lg:grid-cols-12 gap-x-12 gap-y-8 pt-20 pb-24" data-reveal data-reveal-once> 144 <div class="lg:col-span-5"> 145 <h1 id="askq" class="h1 cursor mt-4 min-h-[7.5rem] sm:min-h-[9rem] text-[2rem] sm:text-[2.4rem] lg:text-[2.9rem] font-extrabold leading-[1.08] text-gray-900">National gasoline and diesel prices in Mexico.</h1> 146 <div class="mt-8 flex flex-wrap items-center gap-3"> 147 <a href="/api/auth/signup?returnTo=/home" class="inline-flex items-center rounded-md bg-alphacast px-5 py-3 text-sm font-semibold text-white shadow-sm hover:bg-alphacast-hover transition-colors">Start for free</a> 148 <a href="/explore" class="inline-flex items-center gap-1.5 text-sm font-semibold text-alphacast hover:text-alphacast-dark">Explore the catalog <svg class="h-4 w-4" fill="none" viewBox="0 0 20 20"><path stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M4 10h11M10 5l5 5-5 5"/></svg></a> 149 </div> 150 <div id="askdots" class="mt-10 flex items-center gap-2" role="tablist" aria-label="Example answers"></div> 151 </div> 152 153 <div class="lg:col-span-6 lg:col-start-7"> 154 <div class="ask-hero-frame mt-4 rounded-2xl border border-gray-200 bg-white shadow-xl overflow-hidden"> 155 <div class="ask-hero-crop crop" style="aspect-ratio:1200/747"> 156 <img class="askpane on" src="/landing/v2-assets/shots/ask-gasoline.webp" width="1200" height="900" loading="eager" fetchpriority="high" alt="An answer charting national gasoline and diesel prices in Mexico, citing its provider" /> 157 <img class="askpane" src="/landing/v2-assets/shots/ask-current.webp" width="1169" height="877" loading="eager" alt="An answer charting current account dynamics across World Bank income groups" /> 158 <img class="askpane" src="/landing/v2-assets/shots/ask-embi.webp" width="1183" height="887" loading="eager" alt="An answer comparing Argentina's EMBI with regional peers" /> 159 <img class="askpane" src="/landing/v2-assets/shots/ask-cpi.webp" width="1134" height="850" loading="eager" alt="An answer charting the trend in United States inflation over five years" /> 160 <img class="askpane" src="/landing/v2-assets/shots/ask-ip.webp" width="1200" height="900" loading="eager" alt="An answer charting United States industrial production" /> 161 </div> 162 </div> 163 </div> 164 </section> 165 166 <!-- 01 · the answer is the object, not a description of it --> 167 <section class="border-t border-gray-200 pt-10 pb-16" data-reveal> 168 <div class="flex flex-wrap items-end justify-between gap-x-10 gap-y-4"> 169 <div> 170 <span class="text-sm font-bold text-alphacast">01</span> 171 <h2 class="mt-2 max-w-[22ch] text-3xl sm:text-4xl font-extrabold tracking-tight text-gray-900 leading-tight text-pretty">The question decides the form.</h2> 172 </div> 173 <p class="max-w-lg text-gray-500 leading-relaxed text-pretty">Ask in plain language and the engine picks the form â a table, a ranking, a map, a dashboard, or just the number. Real outputs, not illustrations.</p> 174 </div> 175 176 <div class="mt-6 grid sm:grid-cols-2 gap-x-6 gap-y-6"> 177 <figure> 178 <div class="rounded-2xl border border-gray-200 bg-white shadow-lg overflow-hidden"> 179 <div class="aspect-[5/2] bg-white p-2"> 180 <img class="shot shot-fit" src="/landing/v2-assets/shots/reer-rankings.webp" width="1500" height="759" loading="lazy" alt="A dashboard ranking the largest real exchange rate appreciations and depreciations, split into nominal and price effects" /> 181 </div> 182 </div> 183 </figure> 184 <figure> 185 <div class="rounded-2xl border border-gray-200 bg-white shadow-lg overflow-hidden"> 186 <div class="aspect-[5/2] bg-white p-2"> 187 <img class="shot shot-fit" src="/landing/v2-assets/shots/reer-maps.webp" width="1500" height="1043" loading="lazy" alt="Three choropleth maps of the same indicator: month-on-month, year-on-year and as a five-year z-score" /> 188 </div> 189 </div> 190 </figure> 191 <figure> 192 <div class="rounded-2xl border border-gray-200 bg-white shadow-lg overflow-hidden"> 193 <div class="aspect-[5/2] bg-white p-2"> 194 <img class="shot shot-fit" src="/landing/v2-assets/shots/timeseries-construction.webp" width="878" height="660" loading="lazy" alt="A time series of the year-on-year change in construction activity in Canada, from 2006 to 2026" /> 195 </div> 196 </div> 197 </figure> 198 <figure> 199 <div class="rounded-2xl border border-gray-200 bg-white shadow-lg overflow-hidden"> 200 <div class="aspect-[5/2] bg-white p-2"> 201 <img class="shot shot-fit" src="/landing/v2-assets/shots/scatter-lecaps.webp" width="885" height="660" loading="lazy" alt="A scatter of Argentine sovereign b
201ills by modified duration and internal rate of return, sized by parity" /> 202 </div> 203 </div> 204 </figure> 205 </div> 206 207 </section> 208</main> 209 210<!-- DARK band --> 211<section class="bg-gray-900 text-white" data-reveal> 212 <div class="max-w-7xl mx-auto px-6 py-24"> 213 <div class="grid lg:grid-cols-12 gap-x-12 gap-y-10 items-center"> 214 <div class="lg:col-span-7"> 215 <p class="text-xs font-bold uppercase tracking-[0.22em] text-alphacast-100">The difference</p> 216 <p class="mt-5 text-3xl sm:text-[2.6rem] font-extrabold tracking-tight leading-[1.08] text-pretty">A general chatbot answers from its training. Alphacast answers from <span class="text-alphacast-100">real, sourced data</span> â and tells you where each number came from.</p> 217 </div> 218 <div class="lg:col-span-5 lg:border-l lg:border-white/15 lg:pl-10"> 219 <div class="fig text-7xl lg:text-8xl font-extrabold leading-none text-alphacast-100">0</div> 220 <p class="mt-3 text-lg font-semibold text-white">hallucinations</p> 221 </div> 222 </div> 223 </div> 224</section> 225 226<main class="max-w-7xl mx-auto px-6"> 227 228 <!-- 02 · the catalog underneath --> 229 <section class="pt-24 pb-24" data-reveal> 230 <div class="grid lg:grid-cols-12 gap-x-12 gap-y-8"> 231 <div class="lg:col-span-4"> 232 <span class="text-sm font-bold text-alphacast">02</span> 233 <h2 class="mt-2 text-3xl sm:text-4xl font-extrabold tracking-tight text-gray-900 leading-tight text-pretty">Connected directly to the source.</h2> 234 <p class="mt-4 text-gray-500 leading-relaxed text-pretty">Hundreds of curated providers â central banks, statistical agencies, exchanges and market APIs â organized by category, country, activity and asset class. Browsable before you ask anything.</p> 235 <a href="/explore" class="mt-5 inline-flex items-center gap-1.5 text-sm font-semibold text-alphacast hover:text-alphacast-dark">Explore the catalog <svg class="h-4 w-4" fill="none" viewBox="0 0 20 20"><path stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M4 10h11M10 5l5 5-5 5"/></svg></a> 236 </div> 237 <figure class="lg:col-span-8"> 238 <div class="rounded-2xl border border-gray-200 bg-white shadow-lg overflow-hidden"> 239 <img class="block w-full" src="/landing/v2-assets/shots/catalog.webp" width="1170" height="588" loading="lazy" alt="The Alphacast catalog: verified sources and the categories they are filed under" /> 240 </div> 241 </figure> 242 </div> 243 </section> 244 245 <!-- 03 · channels and your own data --> 246 <section class="border-t border-gray-200 pt-20 pb-24" data-reveal> 247 <div class="grid lg:grid-cols-12 gap-x-12 gap-y-8"> 248 <div class="lg:col-span-4"> 249 <span class="text-sm font-bold text-alphacast">03</span> 250 <h2 class="mt-2 text-3xl sm:text-4xl font-extrabold tracking-tight text-gray-900 leading-tight text-pretty">Ask from anywhere â over our data or yours.</h2> 251 </div> 252 <div class="lg:col-span-8 grid sm:grid-cols-2 gap-px bg-gray-200 border border-gray-200 rounded-2xl overflow-hidden"> 253 <div class="bg-white p-6"> 254 <p class="text-xs font-bold uppercase tracking-[0.2em] text-gray-400">Wherever you ask, the same answer</p> 255 <p class="mt-3 text-[15px] text-gray-600 leading-relaxed">On our web app, from your own AI through the MCP server, or embedded in your site â same catalog, same sourced answers.</p> 256 <div class="mt-4 flex flex-wrap gap-2 text-sm"> 257 <span class="rounded-full border border-gray-200 px-3 py-1.5 text-gray-700">Our web app</span> 258 <span class="rounded-full border border-gray-200 px-3 py-1.5 text-gray-700">MCP server</span> 259 <span class="rounded-full border border-gray-200 px-3 py-1.5 text-gray-700">Embedded in your page</span> 260 </div> 261 </div> 262 <div class="bg-white p-6"> 263 <p class="text-xs font-bold uppercase tracking-[0.2em] text-gray-400">Your own data</p> 264 <p class="mt-3 text-[15px] text-gray-600 leading-relaxed">Bring Excel, CSV or your own API and the AI answers over them alongside the catalog â and PDFs, SharePoint and OneDrive on a deployment of your own.</p> 265 <div class="mt-4 flex flex-wrap gap-2 text-sm">
266 <span class="rounded-full border border-gray-200 px-3 py-1.5 text-gray-700">Excel</span> 267 <span class="rounded-full border border-gray-200 px-3 py-1.5 text-gray-700">CSV</span> 268 <span class="rounded-full border border-gray-200 px-3 py-1.5 text-gray-700">Your API</span> 269 <span class="rounded-full border border-gray-200 px-3 py-1.5 text-gray-400">PDFs</span> 270 <span class="rounded-full border border-gray-200 px-3 py-1.5 text-gray-400">SharePoint</span> 271 </div> 272 </div> 273 </div> 274 </div> 275 </section> 276 277 <!-- Concierge --> 278 <section class="pb-28" data-reveal> 279 <div> 280 <a href="/product/keep" class="group flex flex-col sm:flex-row sm:items-center justify-between gap-4 rounded-2xl border border-gray-200 bg-gray-50 p-6 transition-colors hover:border-alphacast/40 hover:bg-alphacast-50"> 281 <div> 282 <p class="text-xs font-bold uppercase tracking-[0.2em] text-gray-400">Next step · Keep</p> 283 <p class="mt-2 text-lg font-extrabold tracking-tight text-gray-900">Save what you asked, and it keeps itself current.</p> 284 </div> 285 <span class="shrink-0 inline-flex items-center gap-1.5 text-sm font-semibold text-alphacast">Continue <svg class="h-4 w-4 transition-transform group-hover:translate-x-0.5" fill="none" viewBox="0 0 20 20"><path stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M4 10h11M10 5l5 5-5 5"/></svg></span> 286 </a> 287 </div> 288 289 </section> 290</main> 291</section> 292<!-- ===== shared footer (v2 landing) ===== 293 Mirrors components/landing/Footer.tsx, which is what renders in production on 294 /pricing and /features. Keep the two in sync: same columns, same links, same 295 newsletter POST to /api/lead with source "newsletter_footer". --> 296<footer class="bg-gray-50" aria-labelledby="footerHeading"> 297 <h2 id="footerHeading" class="sr-only">Footer</h2> 298 <div class="max-w-7xl mx-auto pt-16 pb-8 px-4 sm:px-6 lg:pt-24 lg:px-8"> 299 <div class="xl:grid xl:grid-cols-4 xl:gap-8"> 300 301 <!-- link columns --> 302 <div class="grid grid-cols-3 xl:col-span-2"> 303 <div> 304 <h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">Product</h3> 305 <ul class="mt-4 space-y-4"> 306 <li><a href="/product/ask" class="text-base text-gray-500 hover:text-gray-900">Ask</a></li> 307 <li><a href="/product/keep" class="text-base text-gray-500 hover:text-gray-900">Keep</a></li> 308 <li><a href="/product/connect" class="text-base text-gray-500 hover:text-gray-900">Connect</a></li> 309 <li><a href="/product/build" class="text-base text-gray-500 hover:text-gray-900">Build</a></li> 310 <li><a href="/product/delegate" class="text-base text-gray-500 hover:text-gray-900">Delegate</a></li> 311 <li><a href="/features" class="text-base text-gray-500 hover:text-gray-900">All features</a></li> 312 </ul> 313 </div> 314 <div class="mt-12 md:mt-0"> 315 <h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">More Info</h3> 316 <ul class="mt-4 space-y-4"> 317 <li><a href="/pricing" class="text-base text-gray-500 hover:text-gray-900">Pricing</a></li> 318 <li><a href="https://alphacastio.mintlify.app/python-sdk/overview" class="text-base text-gray-500 hover:text-gray-900">Python Library</a></li> 319 <li><a href="https://alphacastio.mintlify.app/api/overview" class="text-base text-gray-500 hover:text-gray-900">API/MCP Documentation</a></li> 320 <li><a href="https://status.alphacast.io/" class="text-base text-gray-500 hover:text-gray-900">Status</a></li> 321 </ul> 322 </div> 323 <div class="mt-12 md:mt-0"> 324 <h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">Legal</h3> 325 <ul class="mt-4 space-y-4"> 326 <li><a href="/privacy" class="text-base text-gray-500 hover:text-gray-900">Privacy</a></li> 327 <li><a href="/terms" class="text-base text-gray-500 hover:text-gray-900">Terms</a></li> 328 </ul> 329 </div> 330 </div> 331 332 <!-- newsletter + contact --> 333 <div class="space-y-4 xl:col-span-2"> 334 <div class="mt-8 xl:mt-0" data-newsletter> 335 <h3 class="text-sm font-semibold text-gray-400 tracking-wider up
335percase">Subscribe to our newsletter</h3> 336 <p class="mt-4 text-base text-gray-500">The latest dashboards, charts, and news in your inbox</p> 337 <div class="mt-4 sm:flex sm:max-w-md" data-newsletter-form> 338 <label for="footer-email-address" class="sr-only">Email address</label> 339 <input 340 type="email" 341 name="email-address" 342 id="footer-email-address" 343 autocomplete="email" 344 required 345 class="w-full min-w-0 appearance-none rounded-md border border-gray-300 bg-white py-2 px-4 text-base text-gray-900 placeholder-gray-500 shadow-sm focus:border-indigo-500 focus:placeholder-gray-400 focus:outline-none focus:ring-indigo-500" 346 placeholder="Enter your email" 347 /> 348 <div class="mt-3 rounded-md sm:mt-0 sm:ml-3 sm:flex-shrink-0"> 349 <button 350 type="button" 351 data-newsletter-submit 352 class="flex w-full items-center justify-center rounded-md border border-transparent bg-indigo-600 py-2 px-4 text-base font-medium text-white hover:bg-indigo-700 focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2" 353 >Subscribe</button> 354 </div> 355 </div> 356 <div class="mt-4 sm:max-w-md" data-newsletter-done hidden> 357 <p class="flex items-start space-x-2 text-base text-gray-500"> 358 <svg class="h-6 w-6 shrink-0 text-green-600" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd"/></svg> 359 <span>You're subscribed! Check your email.</span> 360 </p> 361 </div> 362 </div> 363 364 <div class="mt-12 xl:mt-0"> 365 <h3 class="text-sm font-semibold text-gray-400 tracking-wider uppercase">Contact Us</h3> 366 <p class="mt-4 text-base text-gray-500">9450 SW Gemini Dr PMB 86512</p> 367 <p class="mt-1 text-base text-gray-500">Beaverton, Oregon 97008</p> 368 <p class="mt-1 text-base text-gray-500"><a href="mailto:[email protected]">[email protected]</a></p> 369 </div> 370 </div> 371 </div> 372 373 <div class="mt-12 border-t border-gray-200 pt-8 md:flex md:items-center md:justify-between lg:mt-16"> 374 <div class="flex space-x-6 md:order-2"> 375 <a href="https://twitter.com/alphacast_" class="text-gray-400 hover:text-gray-500" aria-label="Twitter"> 376 <img loading="lazy" src="/landing/images/X.svg" alt="" class="h-6 w-6 opacity-60 hover:opacity-100 transition-opacity" /> 377 </a> 378 <a href="https://www.linkedin.com/company/alphacast" class="text-gray-400 hover:text-gray-500" aria-label="Linkedin"> 379 <img loading="lazy" src="/landing/images/LinkedIn.svg" alt="" class="h-6 w-6 opacity-60 hover:opacity-100 transition-opacity" /> 380 </a> 381 <a href="https://www.youtube.com/channel/UCeEy1Iz4NziiMod_L5427QQ" class="text-gray-400 hover:text-gray-500" aria-label="Youtube"> 382 <img loading="lazy" src="/landing/images/Youtube.svg" alt="" class="h-6 w-6 opacity-60 hover:opacity-100 transition-opacity" /> 383 </a> 384 <a href="https://github.com/alphacastio/" class="text-gray-400 hover:text-gray-500" aria-label="Github"> 385 <img loading="lazy" src="/landing/images/25231.png" alt="" class="h-6 w-6 opacity-60 hover:opacity-100 transition-opacity" /> 386 </a> 387 </div> 388 <p class="mt-8 text-base text-gray-400 md:mt-0 md:order-1">© 2026 Alphacast, Inc. All rights reserved.</p> 389 </div> 390 </div> 391 392
392<script> 393 (function () { 394 var root = document.querySelector('[data-newsletter]'); 395 if (!root) return; 396 var form = root.querySelector('[data-newsletter-form]'); 397 var done = root.querySelector('[data-newsletter-done]'); 398 var input = root.querySelector('#footer-email-address'); 399 var button = root.querySelector('[data-newsletter-submit]'); 400 function submit() { 401 if (!input.value || !input.checkValidity()) { input.reportValidity(); return; } 402 button.disabled = true; 403 fetch('/api/lead', { 404 method: 'POST', 405 headers: { 'Content-Type': 'application/json' }, 406 body: JSON.stringify({ email: input.value, source: 'newsletter_footer' }) 407 }).catch(function () { /* the thank-you still shows; the lead is best-effort */ }) 408 .then(function () { 409 form.classList.add('hidden'); 410 done.hidden = false; 411 done.classList.remove('hidden'); 412 done.classList.add('flex'); 413 }); 414 } 415 button.addEventListener('click', submit); 416 input.addEventListener('keydown', function (e) { if (e.key === 'Enter') { e.preventDefault(); submit(); } }); 417 })(); 418 </script>
418 419</footer>
420<script src="/landing/js/ac-shared.js"></script>
vendor: 1 bytes, line 420
420
421<script src="/landing/js/locale.js"></script>
421 422</body> 423</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.