PageSourceSearch

https://www.alphacast.io/product/ask

html alphacast.io collected 2026-10-04 17:49:46 UTC 28,104 bytes, 423 lines download raw bytes

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 &amp; 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 &rarr;</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 &rarr;</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 &middot; 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&apos;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">&copy; 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.