PageSourceSearch

https://towardsai.com/academy/about/

html towardsai.com collected 2026-10-09 04:38:23 UTC 178,555 bytes, 2,292 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">
6<title>About Us · Towards AI Academy</title>
7<meta name="description" content="Towards AI trains developers for production AI through project-based courses, in-person bootcamps, and customized enterprise programs. 10,000+ engineers enrolled since 2019.">
8
9<!-- Canonical -->
10<link rel="canonical" href="https://towardsai.com/academy/about/">
11
12<!-- Open Graph -->
13<meta property="og:type" content="website">
14<meta property="og:url" content="https://towardsai.com/academy/about/">
15<meta property="og:title" content="About Us · Towards AI Academy">
16<meta property="og:description" content="Towards AI trains developers for production AI through project-based courses, in-person bootcamps, and customized enterprise programs. 10,000+ engineers enrolled since 2019.">
17<meta property="og:image" content="https://towardsai.com/academy-assets/homepage-title.png">
18<meta property="og:site_name" content="Towards AI">
19
20<!-- Twitter -->
21<meta name="twitter:card" content="summary_large_image">
22<meta name="twitter:site" content="@towards_ai">
23<meta name="twitter:title" content="About Us · Towards AI Academy">
24<meta name="twitter:description" content="Towards AI trains developers for production AI through project-based courses, in-person bootcamps, and customized enterprise programs. 10,000+ engineers enrolled since 2019.">
25<meta name="twitter:image" content="https://towardsai.com/academy-assets/homepage-title.png">
26
27<!-- JSON-LD -->
28<script type="application/ld+json">
29{
30 "@context": "https://schema.org",
31 "@graph": [
32  {
33   "@type": "EducationalOrganization",
34   "@id": "https://towardsai.com/#organization",
35   "url": "https://towardsai.com/",
36   "name": "Towards AI",
37   "description": "Practical AI education, enterprise AI enablement, and custom AI systems.",
38   "logo": {
39    "@type": "ImageObject",
40    "@id": "https://towardsai.com/#logo",
41    "url": "https://towardsai.com/wp-content/uploads/2019/05/cropped-towards-ai-square-circle-png.png"
42   }
43  },
44  {
45   "@type": "WebSite",
46   "@id": "https://towardsai.com/#website",
47   "url": "https://towardsai.com/",
48   "name": "Towards AI",
49   "publisher": {
50    "@id": "https://towardsai.com/#organization"
51   }
52  },
53  {
54   "@type": "AboutPage",
55   "@id": "https://towardsai.com/academy/about/#webpage",
56   "url": "https://towardsai.com/academy/about/",
57   "name": "About Us \u00b7 Towards AI Academy",
58   "description": "Towards AI trains developers for production AI through project-based courses, in-person bootcamps, and customized enterprise programs. 10,000+ engineers enrolled since 2019.",
59   "isPartOf": {
60    "@id": "https://towardsai.com/#website"
61   },
62   "primaryImageOfPage": "https://towardsai.com/academy-assets/homepage-title.png"
63  },
64  {
65   "@type": "BreadcrumbList",
66   "@id": "https://towardsai.com/academy/about/#breadcrumb",
67   "itemListElement": [
68    {
69     "@type": "ListItem",
70     "position": 1,
71     "name": "Home",
72     "item": "https://towardsai.com/"
73    },
74    {
75     "@type": "ListItem",
76     "position": 2,
77     "name": "Academy",
78     "item": "https://towardsai.com/academy/"
79    },
80    {
81     "@type": "ListItem",
82     "position": 3,
83     "name": "About Us"
84    }
85   ]
86  }
87 ]
88}
89</script>
89
90
91<!-- Favicon -->
92<link rel="icon" type="image/png" href="/home-assets/favicon.png">
93<link rel="apple-touch-icon" href="/home-assets/favicon.png">
94
95<!-- Google Tag Manager -->
96<script>
vendor: 327 bytes, lines 96-100
96(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
97new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
98j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
99'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
100})(window,document,'script','dataLayer','
100GTM-N8HMSMS2
vendor: 3 bytes, line 100
100');
100</script>
100
101<!-- End Google Tag Manager -->
102<!-- Meta Pixel Base Code -->
103<script>
vendor: 395 bytes, lines 103-109
103
104!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
105n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
106n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
107t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
108document,'script','https://connect.facebook.net/en_US/fbevents.js');
109fbq('init', '
1094118905161676270
vendor: 30 bytes, lines 109-110
109');
110fbq('track', 'PageView');
111</script>
111
112<noscript><img height="1" width="1" style="display:none"
113src="https://www.facebook.com/tr?id=4118905161676270&ev=PageView&noscript=1"/></noscript>
114<!-- End Meta Pixel -->
115<meta name="google-site-verification" content="TDgJ11Cuqh_fRdSojIE033r2UmxmFDm9P7ssi9egXuY">
116
117<script id='pixel-script-poptin' src='https://cdn.popt.in/pixel.js?id=7964178849ba3' async='true'></script>
117
118<link rel="preconnect" href="https://fonts.googleapis.com">
119<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
120<link href="https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap" rel="stylesheet">
121<style>
122/* ============================================================================
123   Towards AI Academy — design system v2
124   Aesthetic: editorial print on cream. Lora serif display, Instrument Sans
125   body, IBM Plex Mono for labels/indices. Hairline rules instead of cards.
126   One dominant navy + one sharp blue accent. Blue pixel-grain textures kept
127   from towardsai.net; no purple washes, no icon grids, no boxed text.
128   ============================================================================ */
129:root {
130  --ta-primary:           #003ec7;
131  --ta-primary-container: #0052ff;
132  --ta-navy:              #0b1538;
133  --ta-surface:           #f8f7f4;
134  --ta-surface-low:       #f2f1ec;
135  --ta-surface-lowest:    #ffffff;
136  --ta-outline-neutral:   #eeece7;
137  --ta-hairline:          #c8c5bc;
138  --ta-hairline-soft:     #dcd9d2;
139  --ta-on-surface:        #191c1e;
140  --ta-on-surface-var:    #434656;
141  --ta-on-surface-muted:  #6b6e7b;
142  --ta-gold:              #b98900;
143  --f-serif: 'Lora', Georgia, serif;
144  --f-sans:  'Instrument Sans', 'Helvetica Neue', sans-serif;
145  --f-mono:  'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;
146}
147
148*, *::before, *::after { box-sizing: border-box; }
149html { scroll-behavior: smooth; }
150html, body { margin: 0; padding: 0; background: var(--ta-surface); }
151body {
152  font-family: var(--f-sans);
153  color: var(--ta-on-surface);
154  -webkit-font-smoothing: antialiased;
155  text-rendering: optimizeLegibility;
156  overflow-x: hidden;
157  font-size: 16px;
158}
159img { max-width: 100%; }
160a { color: inherit; }
161section[id] { scroll-margin-top: 90px; }
162a:focus-visible, button:focus-visible, summary:focus-visible {
163  outline: 2px solid var(--ta-primary); outline-offset: 2px; border-radius: 2px;
164}
165
166/* ---------------------------------------------------------------------------
167   Background textures (blue pixel-grain, ported from towardsai.net)
168--------------------------------------------------------------------------- */
169.ta-grain {
170  position: absolute; inset: 0; pointer-events: none; z-index: 0;
171  opacity: 0.55; mix-blend-mode: multiply;
172  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.05  0 0 0 0 0.08  0 0 0 0 0.22  0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
173  background-size: 240px 240px;
174}
175.ta-grain-dark {
176  position: absolute; inset: 0; pointer-events: none; z-index: 0;
177  opacity: 0.35; mix-blend-mode: overlay;
178  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
179  background-size: 240px 240px;
180}
181.ta-pixel-drift {
182  position: absolute; inset: 0; pointer-events: none; z-index: 0;
183  background:
184    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.05  0 0 0 0 0.08  0 0 0 0 0.22  0 0 0 0.30 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
185    repeating-linear-gradient(0deg,  rgba(0,62,199,0.10) 0, rgba(0,62,199,0.10) 1px, transparent 1px, transparent 8px),
186    repeating-linear-gradient(90deg, rgba(0,62,199,0.10) 0, rgba(0,62,199,0.10) 1px, transparent 1px, transparent 8px),
187    radial-gradient(60% 50% at 15% 20%, rgba(0,62,199,0.22) 0%, rgba(0,62,199,0) 70%),
188    radial-gradient(55% 45% at 85% 80%, rgba(0,82,255,0.18) 0%, rgba(0,82,255,0) 70%);
189  background-size: 200px 200px, 8px 8px, 8px 8px, 100% 100%, 100% 100%;
190  animation: ta-pixel-drift 4s linear infinite;
191  -webkit-mask-image: linear-gradient(to bottom, black 55%, transparent 100%);
192          mask-image: linear-gradient(to bottom, black 55%, transparent 100%);
193}
194@keyframes ta-pixel-drift {
195  0%   { background-position: 0 0, 0 0, 0 0, 0 0, 0 0; }
196  100% { background-position: 200px 100px, 256px 0, 0 256px, 0 0, 0 0; }
197}
198.ta-pixel-drift-dark {
199  position: absolute; inset: 0; pointer-events: none; z-index: 0;
200  background:
201    repeating-linear-gradient(0deg,  rgba(255,255,255,0.035) 0, rgba(255,255,255,0.035) 1px, transparent 1px, transparent 6px),
202    repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0, rgba(255,255,255,0.035) 1px, transparent 1px, transparent 6px),
203    radial-gradient(60% 55% at 20% 25%, rgba(0,82,255,0.32) 0%, rgba(0,82,255,0) 70%),
204    radial-gradient(55% 50% at 80% 75%, rgba(0,62,199,0.38) 0%, rgba(0,62,199,0) 70%);
205  background-size: 6px 6px, 6px 6px, 100% 100%, 100% 100%;
206  animation: ta-pixel-drift-dark 50s linear infinite;
207}
208@keyframes ta-pixel-drift-dark {
209  0%   { background-position: 0 0, 0 0, 0 0, 0 0; }
210  100% { background-position: 120px 0, 0 120px, 0 0, 0 0; }
211}
212/* Per-tile grainy wash (from the original towardsai.com system): a tinted
213   radial climbing from the bottom of a card, multiplied with fractal noise. */
214.ta-tile-shade {
215  position: absolute; inset: 0; pointer-events: none; z-index: 0;
216  border-radius: inherit; overflow: hidden;
217  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.18) 30%, rgba(0,0,0,0.6) 60%, black 100%);
218          mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.18) 30%, rgba(0,0,0,0.6) 60%, black 100%);
219}
220.ta-tile-shade::before {
221  content: ''; position: absolute; inset: 0;
222  background: radial-gradient(140% 90% at 50% 100%,
223    rgba(0,62,199,0.20) 0%, rgba(0,62,199,0.12) 30%, rgba(0,62,199,0.05) 60%, rgba(0,62,199,0) 90%);
224}
225.ta-tile-shade::after {
226  content: ''; position: absolute; inset: 0;
227  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' stitchTiles='stitch'/>
227<feColorMatrix values='0 0 0 0 0.05  0 0 0 0 0.08  0 0 0 0 0.22  0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
228  background-size: 220px 220px; opacity: 0.85; mix-blend-mode: multiply;
229}
230
231/* ---------------------------------------------------------------------------
232   Motion (matches the original site's feel: lifts, washes, reveals, flips)
233--------------------------------------------------------------------------- */
234.ta-cell, .ta-build, .ta-step, .ta-fit, .ta-review, .ta-quote, .ta-route, .ta-evi,
235.ta-price-card, .ta-glance, .ta-path, .ta-offer {
236  position: relative;
237  transition: transform 220ms cubic-bezier(.2,0,0,1), border-color 200ms, background-color 200ms, box-shadow 220ms;
238}
239.ta-cell:hover, .ta-build:hover, .ta-step:hover, .ta-review:hover, .ta-quote:not(.inverse):hover, .ta-evi:hover {
240  transform: translateY(-3px);
241  border-top-color: var(--ta-primary);
242}
243.ta-fit:hover { transform: translateX(4px); border-top-color: var(--ta-primary); }
244.ta-route:hover { background: rgba(0,62,199,0.025); }
245.ta-price-card:hover, .ta-glance:hover { transform: translateY(-3px); box-shadow: 0 26px 56px -26px rgba(11,21,56,0.4); }
246/* grainy wash rises into hovered cards, like the original tile shades */
247.ta-cell::after, .ta-build::after, .ta-review::after, .ta-quote:not(.inverse)::after {
248  content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0;
249  transition: opacity 260ms;
250  background:
251    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.05  0 0 0 0 0.08  0 0 0 0 0.22  0 0 0 0.35 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>") ,
252    radial-gradient(120% 80% at 50% 110%, rgba(0,62,199,0.10) 0%, rgba(0,62,199,0) 70%);
253  background-size: 220px 220px, 100% 100%;
254  mix-blend-mode: multiply;
255}
256.ta-cell:hover::after, .ta-build:hover::after, .ta-review:hover::after, .ta-quote:not(.inverse):hover::after { opacity: 1; }
257.ta-cell > *, .ta-build > *, .ta-review > *, .ta-quote > * { position: relative; z-index: 1; }
258/* scroll reveal: JS adds .ta-reveal to section children, .in when visible */
259.ta-reveal { opacity: 0; transform: translateY(18px); transition: opacity 600ms cubic-bezier(.2,0,0,1), transform 600ms cubic-bezier(.2,0,0,1); }
260.ta-reveal.in { opacity: 1; transform: none; }
261/* nav link flip-on-hover (original ta-flip): duplicate text slides up in place */
262.ta-nav-link .ta-flip { display: inline-block; overflow: hidden; height: 1.45em; line-height: 1.45em; vertical-align: top; }
263.ta-nav-link .ta-flip > span { display: block; transition: transform 260ms cubic-bezier(.2,0,0,1); }
264/* The span holds TWO stacked lines (label + ::after duplicate), so shift by
265   half its height — one line — to land the duplicate in the visible window.
266   -100% moved both lines out and blanked the label on hover. */
267.ta-nav-link:hover .ta-flip > span { transform: translateY(-50%); }
268.ta-nav-link .ta-flip > span::after { content: attr(data-t); display: block; color: var(--ta-primary); }
269
270@media (prefers-reduced-motion: reduce) {
271  .ta-pixel-drift, .ta-pixel-drift-dark { animation: none !important; }
272  html { scroll-behavior: auto; }
273  .ta-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
274  .ta-cell, .ta-build, .ta-step, .ta-fit, .ta-review, .ta-quote, .ta-route, .ta-evi,
275  .ta-price-card, .ta-glance, .ta-nav-link .ta-flip > span { transition: none !important; }
276}
277
278/* ---------------------------------------------------------------------------
279   Typography
280--------------------------------------------------------------------------- */
281.ta-eyebrow {
282  display: inline-block; font-family: var(--f-mono);
283  font-size: 11.5px; font-weight: 500;
284  letter-spacing: 0.16em; text-transform: uppercase; color: var(--ta-primary);
285}
286.ta-eyebrow .num { color: var(--ta-on-surface-muted); margin-right: 10px; }
287.ta-eyebrow.on-dark { color: #7a93ff; }
288.ta-eyebrow.on-dark .num { color: rgba(255,255,255,0.45); }
289.ta-h1 {
290  font-family: var(--f-serif); font-weight: 500;
291  font-size: clamp(38px, 5vw, 64px); line-height: 1.05;
292  letter-spacing: -0.02em; color: var(--ta-navy); margin: 0; text-wrap: balance;
293}
294.ta-h1 em, .ta-h2 em, .ta-h3 em { font-style: italic; color: var(--ta-primary); font-weight: 500; }
295.ta-h2 {
296  font-family: var(--f-serif); font-weight: 500;
297  font-size: clamp(28px, 3.2vw, 42px); line-height: 1.12;
298  letter-spacing: -0.018em; color: var(--ta-navy); margin: 0; text-wrap: balance;
299}
300.ta-h2.on-dark { color: #fff; }
301.ta-h2.on-dark em { color: #7a93ff; }
302.ta-h3 {
303  font-family: var(--f-serif); font-weight: 500;
304  font-size: clamp(19px, 1.6vw, 22px); line-height: 1.25;
305  letter-spacing: -0.01em; color: var(--ta-navy); margin: 0;
306  text-wrap: balance;
307}
308.ta-lede { font-size: 17px; line-height: 1.55; color: var(--ta-on-surface-var); margin: 0; text-wrap: pretty; }
309.ta-lede.on-dark { color: rgba(255,255,255,0.78); }
310.ta-body { font-size: 15px; line-height: 1.6; color: var(--ta-on-surface-var); margin: 0; }
311.ta-mono-note { font-family: var(--f-mono); font-size: 12px; color: var(--ta-on-surface-muted); letter-spacing: 0.01em; }
312
313/* ---------------------------------------------------------------------------
314   Buttons
315--------------------------------------------------------------------------- */
316.ta-btn {
317  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
318  padding: 14px 24px; border-radius: 6px;
319  font-family: var(--f-sans); font-size: 15px; font-weight: 600; letter-spacing: 0.002em;
320  text-decoration: none; cursor: pointer; border: 1.5px solid transparent;
321  transition: transform 180ms cubic-bezier(.2,0,0,1), background 160ms, color 160ms, border-color 160ms;
322  white-space: nowrap;
323}
324.ta-btn-primary { background: var(--ta-navy); color: #fff; border-color: var(--ta-navy); }
325.ta-btn-primary:hover { background: #050b1f; border-color: #050b1f; transform: translateY(-1px); }
326.ta-btn-blue { background: var(--ta-primary); color: #fff; border-color: var(--ta-primary); }
327.ta-btn-blue:hover { background: #00309b; border-color: #00309b; transform: translateY(-1px); }
328.ta-btn-secondary { background: transparent; color: var(--ta-navy); border-color: var(--ta-navy); }
329.ta-btn-secondary:hover { background: var(--ta-navy); color: #fff; transform: translateY(-1px); }
330.ta-btn-on-dark-primary { background: #fff; color: var(--ta-navy); border-color: #fff; }
331.ta-btn-on-dark-primary:hover { background: #e8e6df; border-color: #e8e6df; transform: translateY(-1px); }
332.ta-btn-on-dark-secondary { background: transparent; color: #fff; border-color: rgba(255,255,255,0.55); }
333.ta-btn-on-dark-secondary:hover { border-color: #fff; background: rgba(255,255,255,0.08); transform: translateY(-1px); }
334.ta-btn-sm { padding: 8px 15px; font-size: 13.5px; }
335.ta-btn-lg { padding: 16px 30px; font-size: 16px; }
336.ta-btn .sub { display: block; font-size: 11.5px; font-weight: 400; opacity: 0.75; font-family: var(--f-mono); }
337.ta-btn-stack { display: inline-flex; flex-direction: column; align-items: center; line-height: 1.3; }
338
339/* ---------------------------------------------------------------------------
340   Layout
341--------------------------------------------------------------------------- */
342.ta-container { max-width: 1160px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }
343.ta-section { padding: 72px 0; position: relative; }
344.ta-section-head {
345  display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
346  max-width: 780px; margin-bottom: 40px;
347}
348.ta-section-head.center { margin-left: auto; margin-right: auto; text-align: center; align-items: center; }
349.ta-center { text-align: center; }
350.ta-mt-32 { margin-top: 32px; }
351
352/* ---------------------------------------------------------------------------
353   Announcement bar + nav
354--------------------------------------------------------------------------- */
355/* The announcement bar (.ta-launchbar) ships its own scoped CSS from assemble.py
356   so the main-site pages, which do not load this file, render it identically. */
357.ta-nav {
358  position: sticky; top: 0; z-index: 50;
359  background: rgba(248,247,244,0.92);
360  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
361  border-bottom: 1px solid var(--ta-hairline-soft);
362}
363.ta-nav-inner {
364  max-width: 1240px; margin: 0 auto; padding: 0 24px;
365  height: 62px; display: flex; align-items: center; gap: 32px;
366}
367.ta-nav-logo { display: flex; align-items: baseline; gap: 8px; text-decoration: none; flex-shrink: 0; }
368.ta-nav-logo .word { font-family: var(--f-serif); font-weight: 600; font-size: 19px; color: var(--ta-navy); letter-spacing: -0.01em; }
369.ta-nav-logo .word em { font-style: italic; color: var(--ta-primary); }
370.ta-nav-links { display: flex; align-items: center; gap: 18px; margin-left: auto; }
371.ta-nav-link { font-size: 14px; font-weight: 500; color: var(--ta-on-surface-var); text-decoration: none; transition: color 140ms; white-space: nowrap; }
372.ta-nav-link:hover { color: var(--ta-primary); }
373.ta-nav-cta { display: flex; align-items: center; gap: 10px; margin-left: 6px; }
374.ta-nav-burger {
375  display: none; margin-left: auto; background: none; border: none; cursor: pointer;
376  width: 44px; height: 44px; border-radius: 6px; align-items: center; justify-content: center;
377}
378.ta-nav-burger svg { display: block; }
379/* Six links + three CTAs (incl. the Mentorship button) need ~1280px; below
380   that the burger takes over (the 1023px block repeats these rules for pages
381   already at that width) */
382@media (max-width: 1279px) {
383  .ta-nav-links, .ta-nav-cta { display: none; }
384  .ta-nav-burger { display: flex; }
385}
386.ta-mobile-menu { display: none; position: fixed; inset: 0; z-index: 70; background: var(--ta-surface); padding: 24px; overflow-y: auto; }
387.ta-mobile-menu.open { display: block; }
388.ta-mobile-menu .close-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
389.ta-mobile-menu a.m-link {
390  display: block; padding: 15px 4px; font-size: 19px; font-weight: 500; color: var(--ta-navy);
391  text-decoration: none; border-bottom: 1px solid var(--ta-outline-neutral);
392  font-family: var(--f-serif);
393}
394.ta-mobile-menu .m-ctas { display: flex; flex-direction: column; gap: 12px; margin-top: 24px; }
395
396/* ---------------------------------------------------------------------------
397   Hero
398--------------------------------------------------------------------------- */
399.ta-hero { position: relative; overflow: hidden; padding: 64px 0 72px; }
400.ta-hero-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; }
401.ta-hero-grid.glance-grid { grid-template-columns: 1.15fr 0.85fr; }
402.ta-hero-copy { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
403.ta-hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
404.ta-hero-note { font-family: var(--f-mono); font-size: 12px; color: var(--ta-on-surface-var); letter-spacing: 0.01em; line-height: 1.7; }
405.ta-hero-note .seg, .ta-band .seg { white-space: nowrap; }
406.ta-hero-stats {
407  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
408  margin-top: 6px; padding-top: 18px; border-top: 1px solid var(--ta-hairline); width: 100%;
409}
410.ta-stat { display: flex; flex-direction: column; gap: 3px; }
411.ta-stat .num { font-family: var(--f-serif); font-size: 26px; font-weight: 600; color: var(--ta-navy); white-space: nowrap; }
412.ta-stat .lbl { font-family: var(--f-mono); font-size: 11px; line-height: 1.45; color: var(--ta-on-surface-var); letter-spacing: 0.01em; }
413
414/* Video frame (click-to-load) */
415.ta-video {
416  position: relative; border-radius: 10px; overflow: hidden; cursor: pointer;
417  aspect-ratio: 16 / 9; background: var(--ta-navy);
418  box-shadow: 0 20px 48px -24px rgba(11,21,56,0.45);
419  border: 1px solid rgba(11,21,56,0.14);
420  width: 100%;
421}
422.ta-video img.poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.92; }
423.ta-video::after {
424  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
425  background: radial-gradient(42% 52% at 50% 50%, rgba(11,21,56,0.42) 0%, rgba(11,21,56,0.10) 60%, rgba(11,21,56,0) 100%);
426}
427.ta-video .play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 2; }
428.ta-video.play-low .play { justify-content: flex-end; padding-right: 6%; }
429.ta-video.play-low .play-btn { width: 60px; height: 60px; }
430.ta-video.play-low::after { background: radial-gradient(34% 60% at 88% 50%, rgba(11,21,56,0.35) 0%, rgba(11,21,56,0) 100%); }
431.ta-video .play-btn {
432  width: 72px; height: 72px; border-radius: 50%; background: rgba(255,255,255,0.96);
433  display: flex; align-items: center; justify-content: center;
434  box-shadow: 0 10px 30px rgba(11,21,56,0.35); transition: transform 180ms cubic-bezier(.2,0,0,1);
435}
436.ta-video:hover .play-btn { transform: scale(1.07); }
437.ta-video .play-btn svg { margin-left: 4px; }
438.ta-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 3; }
439
440/* ---------------------------------------------------------------------------
441   Editorial rule-grids (replaces all card grids)
442--------------------------------------------------------------------------- */
443.ta-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; }
444.ta-cols.two { grid-template-columns: repeat(2, 1fr); }
445.ta-cell { border-top: 1px solid var(--ta-hairline); padding: 18px 0 30px; }
446.ta-cell .kick, .ta-build .kick {
447  font-family: var(--f-mono); font-size: 11px; font-weight: 500;
448  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ta-primary);
449  display: block; margin-bottom: 12px;
450}
451.ta-cell h3 { margin-bottom: 10px; }
452.ta-cell .who { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
453.ta-cell .who img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }
454
455/* Quotes */
456.ta-quote { border-top: 1px solid var(--ta-hairline); padding: 20px 0 28px; }
457.ta-quote p.q { font-family: var(--f-serif); font-size: 16.5px; line-height: 1.5; color: var(--ta-navy); margin: 0 0 16px; }
458.ta-quote .who { display: flex; align-items: center; gap: 12px; }
459.ta-quote .who img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; }
460.ta-quote .who .nm { font-size: 13.5px; font-weight: 600; color: var(--ta-navy); line-height: 1.3; }
461.ta-quote .who .rl { font-family: var(--f-mono); font-size: 11px; color: var(--ta-on-surface-muted); line-height: 1.4; margin-top: 2px; }
462.ta-quote.inverse { background: var(--ta-navy); border-top-color: var(--ta-navy); padding: 24px 24px 28px; position: relative; overflow: hidden; }
463.ta-quote.inverse p.q { color: #fff; position: relative; z-index: 1; }
464.ta-quote.inverse .who { position: relative; z-index: 1; }
465.ta-quote.inverse .who .nm { color: #fff; }
466.ta-quote.inverse .who .rl { color: rgba(255,255,255,0.6); }
467
468/* Numbered fit-list (two columns, no boxes) */
469.ta-fits { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
470.ta-fit { display: flex; gap: 18px; align-items: baseline; border-top: 1px solid var(--ta-hairline-soft); padding: 15px 0; font-size: 15.5px; line-height: 1.5; color: var(--ta-on-surface-var); }
471.ta-fit .n { font-family: var(--f-mono); font-size: 12px; color: var(--ta-primary); flex-shrink: 0; }
472.ta-fit b { color: var(--ta-navy); font-weight: 600; }
473
474/* Reviews */
475.ta-review { border-top: 1px solid var(--ta-hairline); padding: 18px 0 28px; display: flex; flex-direction: column; gap: 10px; }
476.ta-stars { display: flex; gap: 2px; }
477.ta-review h4 { font-family: var(--f-serif); font-size: 17px; font-weight: 600; color: var(--ta-navy); margin: 0; line-height: 1.3; }
478.ta-review .txt { font-size: 14px; line-height: 1.6; color: var(--ta-on-surface-var); margin: 0; }
479.ta-review .txt.clamped { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
480.ta-review .by { font-family: var(--f-mono); font-size: 11.5px; color: var(--ta-on-surface-muted); margin-top: auto; letter-spacing: 0.02em; }
481.ta-review .more {
482  background: none; border: none; padding: 12px 0; min-height: 44px; align-self: flex-start;
483  font-family: var(--f-mono); font-size: 11.5px; font-weight: 500; line-height: 20px;
484  color: var(--ta-primary); cursor: pointer; text-align: left; text-transform: uppercase; letter-spacing: 0.06em;
485}
486.ta-review .more:hover { text-decoration: underline; }
487
488/* What you'll build: spec lists */
489.ta-build { border-top: 2px solid var(--ta-navy); padding: 18px 0 10px; }
490.ta-build h3 { margin-bottom: 8px; }
491.ta-build p.intro { font-size: 13.5px; line-height: 1.55; color: var(--ta-on-surface-muted); margin: 0 0 6px; }
492.ta-spec { margin: 0; padding: 0; list-style: none; }
493.ta-spec li { padding: 10px 0; border-top: 1px solid var(--ta-outline-neutral); font-size: 13.5px; line-height: 1.5; color: var(--ta-on-surface-var); }
494.ta-spec li:first-child { border-top: none; }
495.ta-spec .k {
496  display: block; font-family: var(--f-mono); font-size: 11px; font-weight: 500;
497  letter-spacing: 0.07em; text-transform: uppercase; color: var(--ta-navy); margin-bottom: 2px;
498}
499
500/* What you'll build: alternating spec + diagram rows */
501/* Symmetric columns: with the old `1fr 440px` grid, .flip rows placed the
502   media in the wide 1fr column, so image sizes alternated left/right. */
503.ta-buildrow { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; border-top: 1px solid var(--ta-hairline); padding: 44px 0; }
504.ta-buildrow.flip .media { order: -1; }
505.ta-buildrow .media a { display: block; cursor: zoom-in; }
506.ta-buildrow .media img {
507  width: 100%; display: block; border: 1px solid var(--ta-outline-neutral); border-radius: 10px;
508  background: var(--ta-surface-lowest); transition: transform 0.35s ease, box-shadow 0.35s ease;
509}
510.ta-buildrow .media img:hover { transform: translateY(-3px);
510 box-shadow: 0 26px 56px -30px rgba(11,21,56,0.35); }
511.ta-buildrow .ta-build { border-top: none; padding: 0; }
512
513/* Numbered steps (replaces icon feature grid) */
514.ta-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; }
515.ta-steps.four { grid-template-columns: repeat(4, 1fr); gap: 0 32px; }
516.ta-steps.two { grid-template-columns: repeat(2, 1fr); }
517.ta-step { border-top: 1px solid var(--ta-hairline-soft); padding: 16px 0 24px; }
518.ta-step .n { font-family: var(--f-mono); font-size: 12px; color: var(--ta-primary); display: block; margin-bottom: 8px; }
519.ta-step h4 { font-size: 15px; font-weight: 600; color: var(--ta-navy); margin: 0 0 6px; }
520.ta-step p { font-size: 13.5px; line-height: 1.55; color: var(--ta-on-surface-var); margin: 0; }
521
522/* ---------------------------------------------------------------------------
523   Dark band
524--------------------------------------------------------------------------- */
525.ta-band { position: relative; overflow: hidden; background: var(--ta-navy); color: #fff; padding: 64px 0; }
526.ta-band .inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
527.ta-band .bullets {
528  display: flex; gap: 12px 28px; flex-wrap: wrap; justify-content: center;
529  font-family: var(--f-mono); font-size: 12.5px; color: rgba(255,255,255,0.8); letter-spacing: 0.01em;
530}
531
532/* ---------------------------------------------------------------------------
533   Syllabus
534--------------------------------------------------------------------------- */
535.ta-curr-grid { display: grid; grid-template-columns: 1fr 330px; gap: 48px; align-items: start; }
536.ta-syl { border-bottom: 1px solid var(--ta-hairline); }
537.ta-syl details { border-top: 1px solid var(--ta-hairline); }
538.ta-syl summary {
539  display: flex; align-items: baseline; gap: 18px; padding: 17px 2px;
540  cursor: pointer; list-style: none; user-select: none;
541}
542.ta-syl summary::-webkit-details-marker { display: none; }
543.ta-syl .idx { font-family: var(--f-mono); font-size: 12px; color: var(--ta-on-surface-muted); width: 26px; flex-shrink: 0; }
544.ta-syl .t { flex: 1; font-size: 15.5px; font-weight: 600; color: var(--ta-navy); line-height: 1.4; transition: color 140ms; }
545.ta-syl summary:hover .t { color: var(--ta-primary); }
546.ta-syl .ct { font-family: var(--f-mono); font-size: 11px; color: var(--ta-on-surface-muted); white-space: nowrap; }
547.ta-syl .tog {
548  font-family: var(--f-mono); font-size: 16px; color: var(--ta-on-surface-muted);
549  width: 18px; text-align: center; flex-shrink: 0; transition: transform 200ms; line-height: 1;
550  align-self: center;
551}
552.ta-syl details[open] .tog { transform: rotate(45deg); color: var(--ta-primary); }
553.ta-syl ol { margin: 0; padding: 0 0 20px 44px; list-style: none; }
554.ta-syl li { display: flex; gap: 14px; align-items: baseline; padding: 8px 0; border-top: 1px dotted var(--ta-hairline-soft); font-size: 14px; line-height: 1.5; color: var(--ta-on-surface-var); }
555.ta-syl li:first-child { border-top: none; }
556.ta-syl .ln { font-family: var(--f-mono); font-size: 11px; color: var(--ta-hairline); min-width: 20px; flex-shrink: 0; }
557.ta-syl li a { color: inherit; text-decoration: none; }
558.ta-syl li a:hover { color: var(--ta-primary); }
559.ta-syl .fp {
560  font-family: var(--f-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.09em;
561  text-transform: uppercase; color: var(--ta-primary); margin-left: 10px; white-space: nowrap;
562}
563.ta-syl li a:hover .fp { text-decoration: underline; text-underline-offset: 2px; }
564.ta-syllabus-note { font-family: var(--f-mono); font-size: 12px; line-height: 1.6; color: var(--ta-on-surface-muted); margin-top: 14px; }
565.ta-syllabus-note a { color: var(--ta-primary); }
566
567/* Price card: the one deliberate box on the page */
568.ta-price-card {
569  position: sticky; top: 92px;
570  background: var(--ta-surface-lowest); border: 1px solid var(--ta-navy);
571  border-radius: 10px; overflow: hidden;
572}
573.ta-price-card img.cover { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; border-bottom: 1px solid var(--ta-outline-neutral); }
574.ta-price-card .pad { padding: 22px; display: flex; flex-direction: column; gap: 13px; }
575.ta-price-row { display: flex; align-items: baseline; gap: 10px; }
576.ta-price-row .was { font-family: var(--f-mono); font-size: 15px; color: var(--ta-on-surface-muted); text-decoration: line-through; }
577.ta-price-row .now { font-family: var(--f-serif); font-size: 34px; font-weight: 600; color: var(--ta-navy); }
578.ta-price-row .per { font-family: var(--f-mono); font-size: 11.5px; color: var(--ta-on-surface-muted); }
579.ta-price-feats { display: flex; flex-direction: column; margin: 0 0 2px; }
580.ta-price-feats span { padding: 7px 0; border-top: 1px dotted var(--ta-hairline-soft); font-size: 13px; color: var(--ta-on-surface-var); }
581.ta-price-feats span:first-child { border-top: none; }
582.ta-price-card .guarantee { font-family: var(--f-mono); font-size: 11px; line-height: 1.5; color: var(--ta-on-surface-muted); text-align: center; }
583
584/* ---------------------------------------------------------------------------
585   FAQ
586--------------------------------------------------------------------------- */
587.ta-faq { max-width: 820px; }
588.ta-faq details { border-top: 1px solid var(--ta-hairline-soft); }
589.ta-faq details:last-child { border-bottom: 1px solid var(--ta-hairline-soft); }
590.ta-faq summary {
591  display: flex; align-items: baseline; gap: 16px; justify-content: space-between;
592  padding: 17px 2px; cursor: pointer; list-style: none;
593  font-size: 15.5px; font-weight: 600; color: var(--ta-navy); line-height: 1.4; user-select: none;
594}
595.ta-faq summary::-webkit-details-marker { display: none; }
596.ta-faq summary .tog { font-family: var(--f-mono); font-size: 16px; color: var(--ta-on-surface-muted); flex-shrink: 0; transition: transform 200ms; line-height: 1; align-self: center; }
597.ta-faq details[open] summary .tog { transform: rotate(45deg); color: var(--ta-primary); }
598.ta-faq .a { padding: 0 40px 20px 2px; font-size: 14.5px; line-height: 1.65; color: var(--ta-on-surface-var); }
599.ta-faq .a a { color: var(--ta-primary); }
600
601/* ---------------------------------------------------------------------------
602   Logo band
603--------------------------------------------------------------------------- */
604.ta-logoband { background: var(--ta-surface-lowest); border-top: 1px solid var(--ta-outline-neutral); border-bottom: 1px solid var(--ta-outline-neutral); padding: 44px 0; }
605.ta-logoband .row { display: flex; gap: 56px; align-items: center; justify-content: center; flex-wrap: wrap; }
606.ta-logoband img { max-height: 44px; width: auto; max-width: 140px; display: block; }
607.ta-logoband .lbl { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ta-on-surface-muted); text-align: center; margin-bottom: 26px; }
608
609/* ---------------------------------------------------------------------------
610   Pathway rows (homepage)
611--------------------------------------------------------------------------- */
612.ta-path {
613  display: grid; grid-template-columns: 1.08fr 0.92fr; gap: 48px; align-items: center;
614  border-top: 1px solid var(--ta-hairline); padding: 36px 0 44px;
615}
616.ta-path:last-of-type { border-bottom: 1px solid var(--ta-hairline); }
617.ta-path.flip .ta-path-copy { order: 2; }
618.ta-path.flip .ta-path-media { order: 1; }
619.ta-path-copy { display: flex; flex-direction: column; gap: 13px; align-items: flex-start; }
620.ta-path-step { font-family: var(--f-mono); font-size: 11.5px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ta-primary); }
621.ta-path-step .n { color: var(--ta-on-surface-muted); margin-right: 10px; }
622.ta-path-best { font-family: var(--f-mono); font-size: 12px; color: var(--ta-navy); border-bottom: 1px solid var(--ta-hairline); padding-bottom: 10px; }
623.ta-path h3.title { font-family: var(--f-serif); font-weight: 500; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.15; letter-spacing: -0.015em; color: var(--ta-navy); margin: 0; }
624.ta-path-media { position: relative; }
625
626/* ---------------------------------------------------------------------------
627   Founders / portrait rows (about page)
628--------------------------------------------------------------------------- */
629.ta-founder { display: grid; grid-template-columns: 300px 1fr; gap: 48px; align-items: center; border-top: 1px solid var(--ta-hairline); padding: 36px 0; }
630.ta-founder.flip { grid-template-columns: 1fr 300px; }
631.ta-founder.flip .pic { order: 2; }
632.ta-founder .pic img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; display: block; }
633.ta-founder blockquote { margin: 0; font-family: var(--f-serif); font-style: italic; font-size: clamp(18px, 1.9vw, 23px); line-height: 1.45; color: var(--ta-navy); }
634.ta-founder .nm { font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ta-on-surface-muted); margin-top: 16px; display: block; }
635
636/* Offer rows (about page: courses / bootcamps / enterprise) */
637.ta-offer { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: 48px; align-items: center; border-top: 1px solid var(--ta-hairline); padding: 36px 0 44px; }
638.ta-offer.flip .copy { order: 2; }
639.ta-offer.flip .media { order: 1; }
640.ta-offer .copy { display: flex; flex-direction: column; gap: 13px; align-items: flex-start; }
641.ta-offer .media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 10px; display: block; border: 1px solid rgba(11,21,56,0.12); }
642
643/* ---------------------------------------------------------------------------
644   Affiliate: tier table
645--------------------------------------------------------------------------- */
646.ta-tiers { width: 100%; border-collapse: collapse; }
647.ta-tiers th, .ta-tiers td { text-align: left; padding: 16px 18px; vertical-align: top; border-top: 1px solid var(--ta-hairline-soft); font-size: 14px; line-height: 1.55; color: var(--ta-on-surface-var); }
648.ta-tiers thead th { border-top: none; font-family: var(--f-serif); font-size: 19px; font-weight: 600; color: var(--ta-navy); padding-bottom: 6px; }
649.ta-tiers tbody th { font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ta-on-surface-muted); width: 150px; }
650.ta-tiers .hl { background: rgba(0,62,199,0.04); }
651.ta-tiers td.hl { border-left: 2px solid var(--ta-primary); }
652
653/* Earnings figures */
654.ta-fig { font-family: var(--f-serif); font-size: clamp(26px, 2.6vw, 34px); font-weight: 600; color: var(--ta-navy); }
655.ta-fig em { font-style: italic; color: var(--ta-primary); }
656
657/* Referral signup: keep the label above the field and align the button with it. */
658.ta-affiliate-signup {
659  display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; justify-content: center;
660  width: 100%; max-width: 480px;
661}
662.ta-affiliate-signup .email-field {
663  display: flex; flex-direction: column; gap: 8px; flex: 1 1 220px; min-width: 0;
664  font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.08em;
665  text-transform: uppercase; text-align: left; color: rgba(255,255,255,0.9);
666}
667.ta-affiliate-signup input {
668  width: 100%; min-width: 0; padding: 14px 16px; border-radius: 6px;
669  border: 1.5px solid rgba(255,255,255,0.4); background: rgba(255,255,255,0.06); color: #fff;
670  font-family: var(--f-sans); font-size: 15px; line-height: 1.5;
671}
672.ta-affiliate-signup input::placeholder { color: rgba(255,255,255,0.7); opacity: 1; }
673.ta-affiliate-signup input:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
674
675/* ---------------------------------------------------------------------------
676   Enterprise pages: at-a-glance card, routes board, evidence, badge, form
677--------------------------------------------------------------------------- */
678.ta-glance {
679  background: var(--ta-surface-lowest); border: 1px solid var(--ta-navy);
680  border-radius: 10px; padding: 4px 24px 18px;
681  box-shadow: 0 20px 48px -28px rgba(11,21,56,0.35);
682}
683.ta-glance .hd {
684  font-family: var(--f-mono); font-size: 11px; font-weight: 500;
685  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ta-on-surface-muted);
686  padding: 16px 0 12px; border-bottom: 1px solid var(--ta-outline-neutral);
687}
688.ta-glance dl { margin: 0; }
689.ta-glance .row { display: grid; grid-template-columns: 108px 1fr; gap: 0 16px; padding: 12px 0; border-top: 1px dotted var(--ta-hairline-soft); align-items: baseline; }
690.ta-glance .row:first-of-type { border-top: none; }
691.ta-glance dt { font-family: var(--f-mono); font-size: 10.5px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ta-on-surface-muted); }
692.ta-glance dd { margin: 0; font-size: 14px; line-height: 1.45; color: var(--ta-navy); }
693.ta-glance dd b { font-weight: 600; }
694
695/* Routes board: one row per route, rate-card style */
696.ta-routes { border-bottom: 1px solid var(--ta-hairline); }
697.ta-route {
698  display: grid; grid-template-columns: 72px 1.15fr 0.95fr 0.85fr; gap: 0 36px;
699  border-top: 1px solid var(--ta-hairline); padding: 28px 0 30px; align-items: start;
700  position: relative;
701}
702.ta-route .ltr {
703  font-family: var(--f-serif); font-style: italic; font-weight: 500;
704  font-size: 44px; line-height: 0.9; color: rgba(11,21,56,0.38);
705}
706.ta-route.rec .ltr { color: var(--ta-primary); }
707.ta-route .name { display: flex; flex-direction: column; gap: 8px; }
708.ta-route .name h3 { margin: 0; }
709.ta-route .name p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--ta-on-surface-var); }
710.ta-route .specs { display: flex; flex-direction: column; }
711.ta-route .specs span { display: grid; grid-template-columns: 76px 1fr; gap: 0 12px; padding: 6px 0; font-size: 13px; line-height: 1.45; color: var(--ta-on-surface-var); align-items: baseline; }
712.ta-route .specs i { font-style: normal; font-family: var(--f-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ta-on-surface-muted); }
713.ta-route .bestfor { display: flex; flex-direction: column; gap: 6px; }
714.ta-route .bestfor .k { font-family: var(--f-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ta-primary); }
715.ta-route .bestfor p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--ta-navy); font-weight: 500; }
716.ta-route .bestfor .price { font-family: var(--f-mono); font-size: 11px; color: var(--ta-on-surface-muted); line-height: 1.5; }
717.ta-route.rec { border-top: 2px solid var(--ta-primary); }
718.ta-route.rec::before {
719  content: 'Most teams start here'; position: absolute; top: -1px; right: 0;
720  transform: translateY(-50%);
721  font-family: var(--f-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.09em;
722  text-transform: uppercase; color: #fff; background: var(--ta-primary);
723  padding: 4px 10px; border-radius: 3px;
724}
725.ta-evi { border-top: 1px solid var(--ta-hairline); padding: 18px 0 26px; }
726.ta-evi .ta-fig { display: block; margin-bottom: 8px; }
727.ta-evi p { font-size: 14px; line-height: 1.6; color: var(--ta-on-surface-var); margin: 0; }
728.ta-evi .src { display: block; font-family: var(--f-mono); font-size: 11px; color: var(--ta-on-surface-muted); margin-top: 10px; letter-spacing: 0.02em; }
729.ta-rec {
730  display: inline-block; font-family: var(--f-mono); font-size: 10.5px; font-weight: 500;
731  letter-spacing: 0.09em; text-transform: uppercase; color: #fff; background: var(--ta-primary);
732  padding: 4px 9px; border-radius: 3px; margin-bottom: 12px;
733}
734.ta-build .ta-rec { margin-top: 2px; }
735.ta-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; width: 100%; max-width: 720px; }
736.ta-form .full { grid-column: 1 / -1; }
737.ta-form label {
738  display: flex; flex-direction: column; gap: 7px;
739  font-family: var(--f-mono); font-size: 11px; font-weight: 500;
740  letter-spacing: 0.08em; text-transform: uppercase; color: var(--ta-on-surface-muted);
741}
742.ta-form input, .ta-form select, .ta-form textarea {
743  padding: 12px 14px; border-radius: 6px; border: 1px solid var(--ta-hairline);
744  background: var(--ta-surface-lowest); color: var(--ta-on-surface);
745  font-family: var(--f-sans); font-size: 15px; width: 100%;
746}
747.ta-form textarea { min-height: 110px; resize: vertical; }
748.ta-form input:focus, .ta-form select:focus, .ta-form textarea:focus {
749  outline: 2px solid var(--ta-primary); outline-offset: 1px; border-color: var(--ta-primary);
750}
751.ta-form .consent {
752  flex-direction: row; align-items: center; gap: 10px;
753  font-family: var(--f-sans); font-size: 13.5px; text-transform: none; letter-spacing: 0;
754  color: var(--ta-on-surface-var);
755}
756.ta-form .consent input { width: 16px; height: 16px; accent-color: var(--ta-primary); }
757.ta-form-status { font-family: var(--f-mono); font-size: 12.5px; color: var(--ta-primary); min-height: 18px; }
758
759/* ---------------------------------------------------------------------------
760   Long-form article (essay pages)
761--------------------------------------------------------------------------- */
762.ta-prose { max-width: 720px; }
763.ta-prose p { font-size: 17px; line-height: 1.75; color: var(--ta-on-surface-var); margin: 0 0 22px; }
764.ta-prose h2 {
765  font-family: var(--f-serif); font-weight: 500; font-size: clamp(24px, 2.6vw, 32px);
766  line-height: 1.2; letter-spacing: -0.015em; color: var(--ta-navy); margin: 52px 0 18px;
767  text-wrap: balance;
768}
769.ta-prose h2 em { font-style: italic; color: var(--ta-primary); }
770.ta-prose h3 { font-family: var(--f-serif); font-weight: 600; font-size: 20px; color: var(--ta-navy); margin: 36px 0 12px; }
771.ta-prose a { color: var(--ta-primary); text-decoration: underline; text-underline-offset: 2px; }
772.ta-prose blockquote {
773  margin: 32px 0; padding: 4px 0 4px 24px; border-left: 2px solid var(--ta-primary);
774  font-family: var(--f-serif); font-style: italic; font-size: 20px; line-height: 1.55; color: var(--ta-navy);
775}
776.ta-prose ul, .ta-prose ol { margin: 0 0 22px; padding-left: 24px; }
777.ta-prose li { font-size: 17px; line-height: 1.7; color: var(--ta-on-surface-var); margin-bottom: 8px; }
778.ta-prose strong { color: var(--ta-navy); }
779.ta-prose table {
780  width: 100%; border-collapse: collapse; margin: 0 0 28px; font-size: 15px; line-height: 1.6;
781}
782.ta-prose th, .ta-prose td {
783  text-align: left; vertical-align: top; padding: 10px 14px 10px 0;
784  border-top: 1px solid var(--ta-hairline-soft); color: var(--ta-on-surface-var);
785}
786.ta-prose th { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ta-on-surface-muted); }
787.ta-prose table strong, .ta-prose td:first-child { color: var(--ta-navy); }
788.ta-prose figure { margin: 36px 0; }
789.ta-prose figure img { border-radius: 10px; border: 1px solid var(--ta-outline-neutral); }
790.ta-prose figcaption { font-family: var(--f-mono); font-size: 11.5px; color: var(--ta-on-surface-muted); margin-top: 10px; }
791.ta-prose .lede-first { font-size: 20px; line-height: 1.6; color: var(--ta-navy); }
792.ta-byline { display: flex; align-items: center; gap: 12px; margin: 20px 0 0; }
793.ta-byline img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
794.ta-byline .nm { font-size: 14px; font-weight: 600; color: var(--ta-navy); }
795.ta-byline .rl { font-family: var(--f-mono); font-size: 11.5px; color: var(--ta-on-surface-muted); }
796
797/* ---------------------------------------------------------------------------
798   Footer
799--------------------------------------------------------------------------- */
800.ta-footer { position: relative; overflow: hidden; background: var(--ta-navy); color: rgba(255,255,255,0.78); padding: 56px 0 32px; }
801.ta-footer .cols { display: grid; grid-template-columns: 1.7fr repeat(5, 1fr); gap: 40px 30px; }
802.ta-footer .brand { max-width: 320px; display: flex; flex-direction: column; gap: 13px; }
803.ta-footer .brand .word { font-family: var(--f-serif); font-size: 20px; font-weight: 600; color: #fff; }
804.ta-footer .brand .word em { font-style: italic; color: #7a93ff; }
805.ta-footer .brand p { font-size: 13px; line-height: 1.6; margin: 0; color: rgba(255,255,255,0.6); }
806.ta-footer .grp h5 { font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.5); margin: 0 0 12px; }
807.ta-footer .grp a { display: block; font-size: 14px; color: rgba(255,255,255,0.82); text-decoration: none; padding: 4px 0; }
808.ta-footer .grp a:hover { color: #a7b8ff; }
809/* Footer newsletter band (site-wide) */
810.ta-footer .newsband, .ta-gfooter .newsband {
811  margin-top: 44px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,0.14);
812  display: flex; align-items: center; justify-content: space-between; gap: 20px 32px; flex-wrap: wrap;
813  position: relative; z-index: 1;
814}
815.ta-footer .newsband h4 { font-family: var(--f-serif); font-size: clamp(20px, 2.2vw, 26px); font-weight: 600; color: #fff; margin: 0 0 6px; }
816.ta-footer .newsband h4 em { font-style: italic; color: #7a93ff; }
817.ta-footer .newsband p { margin: 0; font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,0.6); max-width: 620px; }
818.ta-footer .newsband .sub-btn {
819  display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px; border-radius: 8px;
820  background: #fff; color: var(--ta-navy); font-family: var(--f-sans); font-weight: 600; font-size: 15px;
821  text-decoration: none; transition: transform 180ms cubic-bezier(.2,0,0,1), box-shadow 180ms;
822}
823.ta-footer .newsband .sub-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px -12px rgba(0,0,0,0.5); }
824
825.ta-footer .legal {
826  margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.14);
827  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
828  font-family: var(--f-mono); font-size: 11.5px; color: rgba(255,255,255,0.5);
829}
830
831/* ---------------------------------------------------------------------------
832   Responsive
833--------------------------------------------------------------------------- */
834@media (max-width: 1023px) {
835  .ta-nav-links, .ta-nav-cta { display: none; }
836  .ta-nav-burger { display: flex; }
837  .ta-hero-grid, .ta-hero-grid.glance-grid { grid-template-columns: 1fr; gap: 36px; }
838  .ta-route { grid-template-columns: 48px 1fr 1fr; }
839  .ta-route .bestfor { grid-column: 2 / -1; margin-top: 14px; }
840  .ta-route .ltr { font-size: 34px; }
841  .ta-cols, .ta-steps, .ta-steps.four { grid-template-columns: 1fr 1fr; }
842  .ta-curr-grid { grid-template-columns: 1fr; }
843  .ta-price-card { position: static; max-width: 460px; }
844  .ta-path, .ta-path.flip, .ta-offer, .ta-offer.flip { grid-template-columns: 1fr; gap: 24px; }
845  .ta-path.flip .ta-path-copy, .ta-offer.flip .copy { order: 1; }
846  .ta-path.flip .ta-path-media, .ta-offer.flip .media { order: 2; }
847  .ta-founder, .ta-founder.flip { grid-template-columns: 1fr; gap: 24px; }
848  .ta-founder.flip .pic { order: 0; }
849  .ta-founder .pic img { max-width: 300px; }
850  .ta-buildrow, .ta-buildrow.flip { grid-template-columns: 1fr; gap: 28px; }
851  .ta-buildrow.flip .media { order: 0; }
852  .ta-buildrow .media img { max-width: 560px; margin: 0 auto; }
853  .ta-tiers { display: block; overflow-x: auto; }
854  .ta-footer .cols { grid-template-columns: repeat(3, 1fr); }
855  .ta-footer .brand { grid-column: 1 / -1; }
856}
857@media (max-width: 719px) {
858  .ta-tiers th, .ta-tiers td { padding: 12px 10px; font-size: 13px; }
859  .ta-tiers tbody th { width: 92px; }
860  .ta-tiers thead th { font-size: 16px; }
861  .ta-form { grid-template-columns: 1fr; }
862  .ta-form input, .ta-form select, .ta-form textarea, .ta-affiliate-signup input { font-size: 16px; }
863  .ta-form .ta-btn { width: 100%; }
864  /* Tier table -> stacked tier cards */
865  .ta-tiers.stack, .ta-tiers.stack tbody, .ta-tiers.stack tr, .ta-tiers.stack th, .ta-tiers.stack td { display: block; width: 100%; }
866  .ta-tiers.stack thead { display: none; }
867  .ta-tiers.stack tbody tr { border-top: 1px solid var(--ta-hairline); padding: 6px 0 16px; }
868  .ta-tiers.stack tbody th { width: 100%; border-top: none; padding: 14px 0 2px; }
869  .ta-tiers.stack tbody td { border-top: none; padding: 5px 0; }
870  .ta-tiers.stack tbody td::before {
871    content: attr(data-tier); display: block;
872    font-family: var(--f-mono); font-size: 10px; font-weight: 500;
873    letter-spacing: 0.08em; text-transform: uppercase; color: var(--ta-primary); margin-bottom: 1px;
874  }
875  .ta-tiers.stack td.hl { border-left: 2px solid var(--ta-primary); padding-left: 10px; background: rgba(0,62,199,0.04); }
876  /* Dark-band benefit lists stack; separators hidden */
877  .ta-band .bullets { flex-direction: column; gap: 7px; }
878  .ta-band .bullets .sep { display: none; }
879  /* Syllabus accordion: lesson count drops under the title */
880  .ta-syl summary { display: grid; grid-template-columns: 26px 1fr 18px; gap: 2px 18px; }
881  .ta-syl .idx { grid-row: 1; grid-column: 1; }
882  .ta-syl .t { grid-row: 1; grid-column: 2; }
883  .ta-syl .tog { grid-row: 1; grid-column: 3; }
884  .ta-syl .ct { grid-row: 2; grid-column: 2; }
885  /* Dark-band inline forms */
886  .ta-band form .ta-btn { width: 100%; }
887}
888@media (max-width: 719px) {
889  .ta-section { padding: 52px 0; }
890  .ta-hero { padding: 44px 0 52px; }
891  .ta-section-head { margin-bottom: 28px; }
892  .ta-cols, .ta-cols.two, .ta-steps, .ta-steps.four, .ta-steps.two, .ta-fits { grid-template-columns: 1fr; }
893  .ta-route { grid-template-columns: 40px 1fr; }
894  .ta-route .specs, .ta-route .bestfor { grid-column: 2 / -1; margin-top: 12px; }
895  .ta-glance { padding: 2px 18px 14px; }
896  .ta-hero-stats { gap: 12px; }
897  .ta-stat .num { font-size: 21px; }
898  .ta-band { padding: 52px 0; }
899  .ta-hero-ctas { width: 100%; }
900  .ta-hero-ctas .ta-btn { width: 100%; }
901  .ta-syl ol { padding-left: 0; }
902  .ta-faq .a { padding-right: 8px; }
903  .ta-footer .cols { grid-template-columns: 1fr 1fr; }
904}
905
906/* ---------------------------------------------------------------------------
907   Mentorship page components (ta-ment-*)
908   New classes only; token + idiom reuse from shared.css. Sub-parts (.hd, .k,
909   .meta, .txt, ...) are scoped under their prefixed parent, matching the
910   existing .ta-glance/.ta-route convention.
911--------------------------------------------------------------------------- */
912
913/* Cost / feature pill: small mono chip on comparison and offer cards */
914.ta-ment-pill {
915  display: inline-block; font-family: var(--f-mono);
916  font-size: 10.5px; font-weight: 500; letter-spacing: 0.07em; text-transform: uppercase;
917  color: var(--ta-on-surface-var); border: 1px solid var(--ta-hairline);
918  border-radius: 999px; padding: 4px 11px 3px; white-space: nowrap;
919}
920.ta-ment-pill-blue { color: var(--ta-primary); border-color: var(--ta-primary); }
921
922/* Title + pill head-row inside cells */
923.ta-ment-hrow { display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; margin: 0 0 10px; }
924.ta-ment-hrow .ta-h3 { margin: 0; }
925/* Stacked variant for 3-across rows: pill under the title so card heads stay
926   the same height and the paragraphs below start on one line. */
927.ta-ment-hrow-stack { flex-direction: column; align-items: flex-start; gap: 7px; }
928
929/* 4-across variant of .ta-cols (inherits 2-col at 1023px, 1-col at 719px) */
930@media (min-width: 1024px) {
931  .ta-ment-cols-4 { grid-template-columns: repeat(4, 1fr); gap: 0 30px; }
932}
933
934/* Full-width "Towards AI Mentorship" row under the comparison grid */
935.ta-ment-us {
936  display: grid; grid-template-columns: 1fr auto; gap: 6px 56px; align-items: center;
937  border-top: 2px solid var(--ta-primary); margin-top: 40px; padding: 26px 0 30px;
938}
939@media (max-width: 719px) {
940  .ta-ment-us { grid-template-columns: 1fr; gap: 0; }
941  .ta-ment-us .ta-btn { width: 100%; margin-top: 18px; }
942}
943
944/* Avatar: photo or initials monogram (roster + thread) */
945.ta-ment-avatar {
946  display: inline-flex; align-items: center; justify-content: center;
947  width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0; overflow: hidden;
948  border: 1px solid var(--ta-hairline); background: var(--ta-surface-lowest);
949  font-family: var(--f-mono); font-size: 13px; font-weight: 500; letter-spacing: 0.05em;
950  color: var(--ta-navy); user-select: none;
951}
952.ta-ment-avatar img { width: 100%; height: 100%; object-fit: cover; }
953
954/* Engineer roster cells (layered on .ta-cell) */
955.ta-ment-eng .ta-ment-avatar { margin-bottom: 14px; }
956.ta-ment-eng h3 { font-size: 16px; font-weight: 600; letter-spacing: -0.01em; color: var(--ta-navy); margin: 0 0 3px; }
957.ta-ment-eng .rl {
958  display: block; font-family: var(--f-mono); font-size: 10.5px; font-weight: 500;
959  letter-spacing: 0.06em; text-transform: uppercase; color: var(--ta-on-surface-muted);
960  line-height: 1.55; margin: 0 0 10px;
961}
962.ta-ment-eng p { font-size: 13.5px; line-height: 1.55; color: var(--ta-on-surface-var); margin: 0; }
963@media (max-width: 719px) {
964  .ta-ment-eng { display: grid; grid-template-columns: 52px 1fr; gap: 2px 14px; align-items: center; }
965  .ta-ment-eng .ta-ment-avatar { grid-row: 1 / 3; margin-bottom: 0; }
966  .ta-ment-eng h3 { grid-column: 2; align-self: end; margin: 0; }
967  .ta-ment-eng .rl { grid-column: 2; margin: 0; }
968  .ta-ment-eng p { grid-column: 1 / -1; margin-top: 10px; }
969  .ta-ment-eng-more p { grid-column: 2; grid-row: 1 / 3; margin-top: 0; align-self: center; }
970}
971
972/* Members' channel thread (simulated chat interface; frame like the glance box) */
973.ta-ment-thread {
974  max-width: 780px; margin: 48px auto 0;
975  background: var(--ta-surface-lowest); border: 1px solid var(--ta-navy); border-radius: 10px;
976  box-shadow: 0 20px 48px -28px rgba(11,21,56,0.35); overflow: hidden;
977  transition: box-shadow 220ms;
978}
979.ta-ment-thread:hover { box-shadow: 0 26px 56px -26px rgba(11,21,56,0.4); }
980.ta-ment-thread .hd {
981  font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.14em;
982  text-transform: uppercase; color: var(--ta-on-surface-muted);
983  padding: 14px 22px; border-bottom: 1px solid var(--ta-outline-neutral); background: var(--ta-surface);
984}
985.ta-ment-thread .scroll { max-height: 560px; overflow-y: auto; padding: 6px 22px 18px; scrollbar-width: thin; }
986.ta-ment-thread .scroll:focus-visible { outline: 2px solid var(--ta-primary); outline-offset: -2px; }
987.ta-ment-msg { display: grid; grid-template-columns: 30px 1fr; gap: 0 14px; padding: 16px 0 6px; }
988.ta-ment-msg + .ta-ment-msg { border-top: 1px dotted var(--ta-hairline-soft); }
989.ta-ment-msg .ta-ment-avatar { width: 30px; height: 30px; font-size: 10px; margin-top: 3px; }
990.ta-ment-msg .meta { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
991.ta-ment-msg .meta .nm { font-size: 13.5px; font-weight: 600; color: var(--ta-navy); }
992.ta-ment-msg .meta .ts { font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 0.04em; color: var(--ta-on-surface-muted); }
993.ta-ment-msg p { font-size: 14px; line-height: 1.62; color: var(--ta-on-surface-var); margin: 6px 0 10px; }
994.ta-ment-msg ol { margin: 0 0 10px; padding-left: 22px; }
995.ta-ment-msg ol li { font-size: 14px; line-height: 1.62; color: var(--ta-on-surface-var); padding: 3px 0; }
996.ta-ment-msg ol li::marker { font-family: var(--f-mono); font-size: 12px; color: var(--ta-primary); }
997.ta-ment-msg-mentor { background: rgba(0,62,199,0.035); border-left: 2px solid var(--ta-primary); margin: 0 -22px; padding: 16px 22px 6px; }
998.ta-ment-msg-mentor .ta-ment-avatar { border-color: var(--ta-primary); color: var(--ta-primary); }
999@media (max-width: 719px) {
1000  .ta-ment-thread { margin-top: 36px; }
1001  .ta-ment-thread .hd { padding: 12px 16px; }
1002  .ta-ment-thread .scroll { max-height: 540px; padding: 2px 16px 14px; }
1003  .ta-ment-msg-mentor { margin: 0 -16px; padding: 16px 16px 6px; }
1004  .ta-ment-msg p, .ta-ment-msg ol li { font-size: 13.5px; }
1005}
1006
1007/* Centered section closer: serif payoff line + CTA */
1008.ta-ment-secta { margin-top: 48px; display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
1009.ta-ment-secta .ta-fig { max-width: 760px; text-wrap: balance; margin: 0; }
1010.ta-ment-secta .ta-lede { max-width: 560px; }
1011
1012/* Quiet micro-link under section CTAs */
1013.ta-ment-quiet {
1014  font-family: var(--f-mono); font-size: 12px; color: var(--ta-on-surface-muted);
1015  text-decoration: none; border-bottom: 1px dotted var(--ta-hairline); padding-bottom: 2px;
1016  transition: color 160ms, border-color 160ms;
1017}
1018.ta-ment-quiet:hover { color: var(--ta-primary); border-color: var(--ta-primary); }
1019
1020/* Offer blocks (inside "Everything inside the mentorship") */
1021.ta-ment-block { border-top: 1px solid var(--ta-hairline); padding-top: 36px; }
1022.ta-ment-block + .ta-ment-block { margin-top: 56px; }
1023.ta-ment-block .ta-eyebrow { margin-bottom: 16px; }
1024.ta-ment-block .ta-cols { margin-top: 26px; }
1025.ta-ment-h3 {
1026  font-family: var(--f-serif); font-weight: 500; font-size: clamp(23px, 2.4vw, 31px);
1027  line-height: 1.16; letter-spacing: -0.015em; color: var(--ta-navy); margin: 0 0 14px; text-wrap: balance;
1028}
1029.ta-ment-h3 em { font-style: italic; color: var(--ta-primary); font-weight: 500; }
1030.ta-ment-offer-grid { display: grid; grid-template-columns: 0.98fr 1.02fr; gap: 0 64px; align-items: start; }
1031@media (max-width: 1023px) { .ta-ment-offer-grid { grid-template-columns: 1fr; gap: 28px 0; } }
1032.ta-ment-caption { font-family: var(--f-mono); font-size: 12px; line-height: 1.6; color: var(--ta-on-surface-muted); margin: 18px 0 0; }
1033
1034/* Sample-questions strip */
1035.ta-ment-samples {
1036  border-top: 1px dotted var(--ta-hairline); margin-top: 8px; padding-top: 20px;
1037  font-family: var(--f-serif); font-style: italic; font-size: 16.5px; line-height: 1.75;
1038  color: var(--ta-navy); text-wrap: pretty;
1039}
1040.ta-ment-samples .sep { color: var(--ta-primary); font-style: normal; padding: 0 10px; }
1041@media (max-width: 719px) { .ta-ment-samples { font-size: 15px; } }
1042
1043/* Earned pathways strip */
1044.ta-ment-pathways { display: grid; grid-template-columns: 200px 1fr; gap: 10px 56px; border-top: 1px solid var(--ta-hairline); margin-top: 12px; padding: 22px 0 4px; }
1045.ta-ment-pathways .k { font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ta-primary); padding-top: 3px; }
1046.ta-ment-pathways p { font-size: 14.5px; line-height: 1.65; color: var(--ta-on-surface-var); margin: 0; max-width: 74ch; }
1047@media (max-width: 719px) { .ta-ment-pathways { grid-template-columns: 1fr; gap: 8px; } }
1048
1049/* Who it's for: doors (left) + month card (right) */
1050.ta-ment-who { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 0 64px; align-items: start; }
1051@media (max-width: 1023px) { .ta-ment-who { grid-template-columns: 1fr; gap: 40px 0; } }
1052.ta-ment-door { display: block; padding: 20px 0 24px; }
1053.ta-ment-door h3 { font-size: 16.5px; font-weight: 600; letter-spacing: -0.01em; color: var(--ta-navy); margin: 0 0 8px; }
1054.ta-ment-door p { font-size: 14.5px; line-height: 1.6; color: var(--ta-on-surface-var); margin: 0; }
1055@media (min-width: 1024px) { .ta-ment-month { position: sticky; top: 92px; } }
1056
1057/* Small centered mono footer inside glance cards (hero card + month card) */
1058.ta-ment-glance-note {
1059  font-family: var(--f-mono); font-size: 11px; line-height: 1.55; color: var(--ta-on-surface-muted);
1060  text-align: center; border-top: 1px dotted var(--ta-hairline-soft); margin-top: 4px; padding-top: 13px;
1061}
1062
1063/* Hero buy card: billing toggle, price, cadence rows, checkout CTA.
1064   Yearly is the page-wide default; the toggle rewrites every .js-buy CTA. */
1065.ta-ment-buy .ta-btn { width: 100%; margin: 16px 0 14px; }
1066.ta-ment-buy .price { padding: 14px 0 12px; }
1067.ta-ment-buy .row { grid-template-columns: 84px 1fr; padding: 10px 0; }
1068.ta-ment-buy dd { font-size: 13.5px; }
1069.ta-ment-buy .equiv, .ta-ment-price .equiv {
1070  font-family: var(--f-mono); font-size: 11.5px; line-height: 1.5;
1071  color: var(--ta-on-surface-muted);
1072}
1073.ta-ment-buy .equiv { margin: 6px 0 0; }
1074.ta-ment-price .equiv { margin: 0 0 12px; }
1075.ta-ment-toggle {
1076  display: grid; grid-template-columns: 1fr 1fr; gap: 4px;
1077  border: 1px solid var(--ta-hairline); border-radius: 8px; padding: 4px;
1078  margin-top: 14px; background: var(--ta-surface-low);
1079}
1080.ta-ment-toggle button {
1081  font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.05em;
1082  text-transform: uppercase; color: var(--ta-on-surface-var);
1083  background: transparent; border: 0; border-radius: 5px; padding: 8px 6px; cursor: pointer;
1084}
1085.ta-ment-toggle button.on { background: var(--ta-navy); color: #fff; }
1086.ta-ment-toggle button:focus-visible { outline: 2px solid var(--ta-primary); outline-offset: 2px; }
1087
1088/* Value-stack table: wider row labels on desktop (stack rules still win <=719px) */
1089.ta-ment-stack tbody th { width: 230px; }
1090
1091/* Anchor payoff line under the value table */
1092.ta-ment-anchor { text-align: center; max-width: 900px; margin: 38px auto 0; text-wrap: balance; }
1093
1094/* Pricing pair (layered on .ta-glance for the sanctioned box treatment) */
1095.ta-ment-pricing { margin-top: 56px; }
1096.ta-ment-pricing .ta-ment-h3 { text-align: center; margin-bottom: 26px; }
1097.ta-ment-prices { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; max-width: 860px; margin: 0 auto; }
1098@media (max-width: 719px) { .ta-ment-prices { grid-template-columns: 1fr; } }
1099.ta-ment-price { padding: 4px 24px 22px; display: flex; flex-direction: column; }
1100.ta-ment-price .hd { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
1101.ta-ment-price .ta-price-row { margin: 16px 0 6px; }
1102.ta-ment-price .blurb { font-size: 13.5px; line-height: 1.6; color: var(--ta-on-surface-var); margin: 0 0 18px; }
1103.ta-ment-price .ta-btn { width: 100%; margin-top: auto; }
1104
1105/* Visually hidden (screen-reader-only) text */
1106.sr-only {
1107  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
1108  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
1109}
1110
1111/* "We win" comparison table (green = Towards AI column, red = the gaps).
1112   Cells are marks only (check / tilde / cross); the detail lives in the
1113   .ta-ment-vsnote body copy below the table. */
1114.ta-ment-vswrap { margin-top: 4px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
1115.ta-ment-vswrap:focus-visible { outline: 2px solid var(--ta-primary); outline-offset: 2px; }
1116.ta-ment-vs {
1117  width: 100%; min-width: 640px; border-collapse: collapse;
1118  --ta-win: #0e7a3d; --ta-win-bg: rgba(14, 122, 61, 0.055);
1118 --ta-lose: #b3261e;
1119}
1120.ta-ment-vs th, .ta-ment-vs td {
1121  text-align: left; vertical-align: top; padding: 15px 16px;
1122  border-top: 1px solid var(--ta-hairline-soft);
1123  font-size: 13.5px; line-height: 1.55; color: var(--ta-on-surface-var);
1124}
1125.ta-ment-vs td, .ta-ment-vs thead th { text-align: center; vertical-align: middle; }
1126.ta-ment-vs thead th:first-child { text-align: left; }
1127.ta-ment-vs thead th { border-top: none; font-family: var(--f-serif); font-size: 16.5px; font-weight: 600; color: var(--ta-navy); padding-bottom: 12px; }
1128.ta-ment-vs thead th .sub {
1129  display: block; font-family: var(--f-mono); font-size: 10.5px; font-weight: 500;
1130  letter-spacing: 0.06em; text-transform: uppercase; color: var(--ta-on-surface-muted); margin-top: 5px;
1131}
1132.ta-ment-vs tbody th {
1133  font-family: var(--f-mono); font-size: 10.5px; font-weight: 500; letter-spacing: 0.08em;
1134  text-transform: uppercase; color: var(--ta-on-surface-muted); width: 148px; padding-left: 0;
1135}
1136.ta-ment-vs .us { background: var(--ta-win-bg); }
1137.ta-ment-vs td.us { border-left: 2px solid var(--ta-win); font-weight: 500; color: var(--ta-navy); }
1138.ta-ment-vs thead th.us { border-left: 2px solid var(--ta-win); color: var(--ta-win); }
1139.ta-ment-vs thead th.us .sub { color: var(--ta-win); }
1140.ta-ment-vs .yes { color: var(--ta-win); font-weight: 700; font-size: 15px; }
1141.ta-ment-vs .no { color: var(--ta-lose); font-weight: 700; font-size: 15px; }
1142.ta-ment-vs .half { color: #b98900; font-size: 15px; }
1143.ta-ment-vs td.us .yes { margin-right: 7px; }
1144.ta-ment-legend {
1145  display: flex; flex-wrap: wrap; gap: 8px 22px; justify-content: center;
1146  font-family: var(--f-mono); font-size: 10.5px; font-weight: 500; letter-spacing: 0.07em;
1147  text-transform: uppercase; color: var(--ta-on-surface-muted); margin: 18px 0 0;
1148}
1149.ta-ment-legend .l-yes { color: #0e7a3d; }
1150.ta-ment-legend .l-half { color: #b98900; }
1151.ta-ment-legend .l-no { color: #b3261e; }
1152.ta-ment-vsnote {
1153  max-width: 74ch; margin: 22px auto 0; text-align: center;
1154  font-size: 14.5px; line-height: 1.65; color: var(--ta-on-surface-var);
1155}
1156
1157/* Mobile comparison summary (scorecard): shown under 720px in place of the
1158   matrix. Order: yearly price first, the included list, then one scored row
1159   per market option with the mentorship highlighted at 7/7. */
1160.ta-ment-vsm { display: none; }
1161.ta-ment-vsm .price { margin: 4px 0 26px; }
1162.ta-ment-vsm .price .now { color: var(--ta-primary); }
1163.ta-ment-vsm .price .sub {
1164  font-family: var(--f-mono); font-size: 11px; line-height: 1.55;
1165  color: var(--ta-on-surface-muted); margin: 7px 0 0;
1166}
1167.ta-ment-vsm .k {
1168  display: block; font-family: var(--f-mono); font-size: 10.5px; font-weight: 500;
1169  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ta-on-surface-muted);
1170  padding-bottom: 10px; border-bottom: 1px solid var(--ta-hairline);
1171}
1172.ta-ment-vsm .inc ul { list-style: none; margin: 0 0 30px; padding: 0; }
1173.ta-ment-vsm .inc li {
1174  position: relative; padding: 8px 0 8px 25px; font-size: 14px; line-height: 1.5;
1175  color: var(--ta-navy); border-top: 1px dotted var(--ta-hairline-soft);
1176}
1177.ta-ment-vsm .inc li:first-child { border-top: none; }
1178.ta-ment-vsm .inc li::before {
1179  content: '\2713'; position: absolute; left: 1px; top: 7px;
1180  color: #0e7a3d; font-weight: 700; font-size: 14px;
1181}
1182.ta-ment-vsm .board .row {
1183  display: grid; grid-template-columns: 1fr auto auto; gap: 0 10px; align-items: center;
1184  padding: 12px 0; border-top: 1px dotted var(--ta-hairline-soft);
1185}
1186.ta-ment-vsm .nm { font-size: 13.5px; font-weight: 600; color: var(--ta-navy); line-height: 1.35; }
1187.ta-ment-vsm .nm .pr {
1188  display: block; font-family: var(--f-mono); font-size: 9.5px; font-weight: 500;
1189  letter-spacing: 0.05em; text-transform: uppercase; color: var(--ta-on-surface-muted); margin-top: 3px;
1190}
1191.ta-ment-vsm .sqs { display: flex; gap: 3px; }
1192.ta-ment-vsm .sqs i, .ta-ment-vsm .lg i {
1193  width: 13px; height: 13px; display: inline-block; border-radius: 2.5px;
1194  border: 1px solid rgba(11,21,56,0.3); background: transparent;
1195}
1196.ta-ment-vsm i.f { background: #0e7a3d; border-color: #0e7a3d; }
1197.ta-ment-vsm i.h { background: linear-gradient(90deg, #b98900 50%, rgba(185,137,0,0.12) 50%); border-color: #b98900; }
1198.ta-ment-vsm .sc {
1199  font-family: var(--f-mono); font-size: 11.5px; font-weight: 600;
1200  color: var(--ta-on-surface-var); min-width: 30px; text-align: right;
1201}
1202.ta-ment-vsm .board .row.us {
1203  background: rgba(14,122,61,0.055); border: 1px solid rgba(14,122,61,0.35);
1204  border-radius: 8px; padding: 12px; margin: 14px 0 4px;
1205}
1206.ta-ment-vsm .board .row.us + .row { border-top: none; }
1207.ta-ment-vsm .board .row.us .nm { font-size: 14.5px; }
1208.ta-ment-vsm .board .row.us .nm .pr, .ta-ment-vsm .board .row.us .sc { color: #0e7a3d; }
1209.ta-ment-vsm .lg {
1210  display: flex; flex-wrap: wrap; gap: 6px 16px;
1211  font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.06em;
1212  text-transform: uppercase; color: var(--ta-on-surface-muted); margin: 14px 0 0;
1213}
1214.ta-ment-vsm .lg span { display: inline-flex; align-items: center; gap: 6px; }
1215.ta-ment-vsm .lg i { width: 11px; height: 11px; }
1216.ta-ment-vsm .sum {
1217  font-family: var(--f-serif); font-size: 18px; line-height: 1.5;
1218  color: var(--ta-navy); margin: 28px 0 0; text-wrap: balance;
1219}
1220.ta-ment-vsm .sum em { font-style: italic; color: var(--ta-primary); font-weight: 500; }
1221.ta-ment-swipe { display: none; }
1222@media (max-width: 980px) {
1223  .ta-ment-swipe {
1224    display: block; font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 0.08em;
1225    text-transform: uppercase; color: var(--ta-on-surface-muted); margin: 10px 0 0;
1226  }
1227}
1228/* Below 720px the matrix is replaced wholesale by the .ta-ment-vsm scorecard:
1229   a 5-column table cannot be readable at 375px, so mobile gets the summary. */
1230@media (max-width: 719px) {
1231  .ta-ment-vswrap, .ta-ment-swipe, .ta-ment-legend, .ta-ment-vsnote { display: none; }
1232  .ta-ment-vsm { display: block; }
1233}
1234
1235/* Engineer roster photo cards (layered on .ta-cell) */
1236.ta-ment-person .ph {
1237  width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block;
1238  border: 1px solid var(--ta-outline-neutral); background: var(--ta-surface-lowest); margin: 2px 0 16px;
1239}
1240.ta-ment-person h3 { font-size: 16.5px; font-weight: 600; letter-spacing: -0.01em; color: var(--ta-navy); margin: 0 0 4px; }
1241.ta-ment-person .rl {
1242  display: block; font-family: var(--f-mono); font-size: 10.5px; font-weight: 500;
1243  letter-spacing: 0.06em; text-transform: uppercase; color: var(--ta-primary);
1244  line-height: 1.55; margin: 0 0 10px;
1245}
1246.ta-ment-person p { font-size: 13.5px; line-height: 1.55; color: var(--ta-on-surface-var); margin: 0; }
1247
1248/* Full-width "plus N more" strip under the roster */
1249.ta-ment-more {
1250  border-top: 1px solid var(--ta-hairline); margin-top: 6px; padding-top: 18px;
1251  font-family: var(--f-mono); font-size: 12px; line-height: 1.7; color: var(--ta-on-surface-muted);
1252}
1253
1254/* Thread header: channel name left, provenance tag right; inline role in metas */
1255.ta-ment-thread .hd { display: flex; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; }
1256.ta-ment-thread .hd .tag { color: var(--ta-primary); letter-spacing: 0.1em; }
1257.ta-ment-msg .meta .rl {
1258  font-family: var(--f-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.06em;
1259  text-transform: uppercase; color: var(--ta-primary);
1260}
1261
1262/* Bundle and Products catalog cards (layered on .ta-cell) */
1263a.ta-cell.ta-prod { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
1264.ta-prod .cover {
1265  width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block;
1266  border: 1px solid var(--ta-outline-neutral); background: var(--ta-surface-lowest); margin: 2px 0 18px;
1267}
1268.ta-prod .ta-h3 { margin-bottom: 8px; }
1269.ta-prod .rate { display: flex; align-items: center; gap: 9px; margin: 0 0 12px; }
1270.ta-prod .rate .rt { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.05em; color: var(--ta-on-surface-muted); }
1271.ta-prod .ta-body { margin: 0 0 18px; }
1272.ta-prod .prow {
1273  margin-top: auto; display: flex; align-items: baseline; justify-content: space-between;
1274  gap: 12px; border-top: 1px dotted var(--ta-hairline-soft); padding-top: 14px;
1275}
1276.ta-prod .price { font-family: var(--f-serif); font-size: 22px; font-weight: 600; color: var(--ta-navy); }
1277.ta-prod .price .was {
1278  font-family: var(--f-mono); font-size: 13px; font-weight: 400;
1279  color: var(--ta-on-surface-muted); text-decoration: line-through; margin-right: 8px;
1280}
1281.ta-prod .price .per { font-family: var(--f-mono); font-size: 12px; font-weight: 400; color: var(--ta-on-surface-muted); }
1282.ta-prod .go {
1283  font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.08em;
1284  text-transform: uppercase; color: var(--ta-primary); white-space: nowrap; transition: transform 180ms;
1285}
1286.ta-prod:hover .go { transform: translateX(4px); }
1287
1288/* Mentorship feature row on the catalog page */
1289.ta-prod-feature {
1290  display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 28px 64px; align-items: center;
1291  border-top: 2px solid var(--ta-navy); padding-top: 34px;
1292}
1293.ta-prod-feature img { width: 100%; display: block; border: 1px solid var(--ta-outline-neutral); }
1294.ta-prod-feature .kick {
1295  display: block; font-family: var(--f-mono); font-size: 11px; font-weight: 500;
1296  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ta-primary); margin-bottom: 14px;
1297}
1298.ta-prod-feature .prow { display: flex; align-items: center; gap: 14px 26px; flex-wrap: wrap; margin-top: 24px; }
1299.ta-prod-feature .price { font-family: var(--f-serif); font-size: 30px; font-weight: 600; color: var(--ta-navy); }
1300.ta-prod-feature .price .per { font-family: var(--f-mono); font-size: 13px; font-weight: 400; color: var(--ta-on-surface-muted); }
1301@media (max-width: 1023px) {
1302  .ta-prod-feature { grid-template-columns: 1fr; }
1303  .ta-prod-feature img { order: -1; max-width: 520px; }
1304}
1305
1306/* ============================================================================
1307   TX delta: components added for the 2026 funnel revision (namespaced .tx-)
1308   Built on the existing Towards AI design tokens; safe alongside ta-* styles.
1309   ============================================================================ */
1310
1311/* ---- step badge (hero) ---- */
1312.tx-badge {
1313  display: inline-flex; align-items: center; gap: 8px;
1314  font-family: var(--f-mono); font-size: 11.5px; font-weight: 600;
1315  letter-spacing: 0.14em; text-transform: uppercase;
1316  color: #fff; background: var(--ta-primary);
1317  padding: 6px 12px; border-radius: 999px;
1318}
1319.tx-badge .of { opacity: 0.7; font-weight: 400; }
1320.tx-badge.ghost { background: transparent; color: var(--ta-primary); border: 1px solid var(--ta-primary); }
1321
1322/* ---- the two-step journey ---- */
1323.tx-journey { display: grid; grid-template-columns: 1fr 56px 1fr; align-items: stretch; gap: 0; }
1324.tx-jstep {
1325  background: var(--ta-surface-lowest); border: 1px solid var(--ta-outline-neutral);
1326  border-radius: 12px; padding: 28px 28px 24px; position: relative;
1327  display: flex; flex-direction: column; gap: 12px;
1328  transition: transform 220ms cubic-bezier(.2,0,0,1), box-shadow 220ms, border-color 200ms;
1329}
1330.tx-jstep:hover { transform: translateY(-3px); box-shadow: 0 26px 56px -30px rgba(11,21,56,0.35); border-color: var(--ta-hairline); }
1331.tx-jstep.here { border: 1.5px solid var(--ta-primary); box-shadow: 0 22px 48px -28px rgba(0,62,199,0.35); }
1332.tx-jstep .stepno {
1333  font-family: var(--f-mono); font-size: 11.5px; font-weight: 600; letter-spacing: 0.14em;
1334  text-transform: uppercase; color: var(--ta-primary); display: flex; align-items: center; gap: 10px;
1335}
1336.tx-jstep .stepno .here-flag {
1337  background: var(--ta-primary); color: #fff; border-radius: 999px; padding: 3px 10px;
1338  font-size: 10.5px; letter-spacing: 0.1em;
1339}
1340.tx-jstep h3 { margin: 0; }
1341.tx-jstep .who { font-family: var(--f-mono); font-size: 12px; color: var(--ta-on-surface-muted); }
1342.tx-jstep ul { margin: 0; padding: 0 0 0 18px; display: flex; flex-direction: column; gap: 6px; }
1343.tx-jstep ul li { font-size: 14.5px; line-height: 1.5; color: var(--ta-on-surface-var); }
1344.tx-jstep .jfoot { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--ta-outline-neutral); display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
1345.tx-jstep .jfoot .fmt { font-family: var(--f-mono); font-size: 11.5px; color: var(--ta-on-surface-muted); }
1346.tx-jlink { font-size: 14px; font-weight: 600; color: var(--ta-primary); text-decoration: none; white-space: nowrap; }
1347.tx-jlink:hover { text-decoration: underline; text-underline-offset: 3px; }
1348.tx-jarrow { display: flex; align-items: center; justify-content: center; color: var(--ta-primary); }
1349.tx-jarrow svg { display: block; }
1350.tx-jafter {
1351  margin-top: 18px; border: 1px dashed var(--ta-hairline-soft); border-radius: 10px;
1352  padding: 16px 22px; display: flex; gap: 12px 28px; align-items: center; flex-wrap: wrap;
1353  background: rgba(0,62,199,0.02);
1354}
1355.tx-jafter .k { font-family: var(--f-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ta-on-surface-muted); }
1356.tx-jafter p { margin: 0; font-size: 14px; color: var(--ta-on-surface-var); }
1357
1358/* ---- offer cards ---- */
1359.tx-offers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
1360.tx-offers.three { grid-template-columns: repeat(3, 1fr); }
1361.tx-offer {
1362  background: var(--ta-surface-lowest); border: 1px solid var(--ta-outline-neutral);
1363  border-radius: 12px; padding: 24px 24px 20px; display: flex; flex-direction: column; gap: 12px;
1364  position: relative; transition: transform 220ms cubic-bezier(.2,0,0,1), box-shadow 220ms, border-color 200ms;
1365}
1366.tx-offer:hover { transform: translateY(-3px); box-shadow: 0 26px 56px -30px rgba(11,21,56,0.35); }
1367.tx-offer .tag {
1368  font-family: var(--f-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.13em;
1369  text-transform: uppercase; color: var(--ta-on-surface-muted);
1370  display: flex; justify-content: space-between; align-items: center; gap: 10px;
1371}
1372.tx-offer .tag .flag { color: #fff; background: var(--ta-navy); border-radius: 999px; padding: 3px 10px; font-size: 10.5px; }
1373.tx-offer.start { border: 1.5px solid var(--ta-primary); }
1374.tx-offer.start .tag .flag { background: var(--ta-primary); }
1375.tx-offer.rec .tag .flag { background: var(--ta-gold); }
1376.tx-offer h3 { margin: 0; }
1377.tx-offer .desc { font-size: 14.5px; line-height: 1.55; color: var(--ta-on-surface-var); margin: 0; }
1378.tx-offer .specs { display: flex; flex-direction: column; gap: 7px; padding: 12px 0; border-top: 1px solid var(--ta-outline-neutral); border-bottom: 1px solid var(--ta-outline-neutral); }
1379.tx-offer .specs span { font-size: 13.5px; color: var(--ta-on-surface-var); display: flex; gap: 10px; }
1380.tx-offer .specs i { font-style: normal; font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ta-on-surface-muted); min-width: 86px; flex-shrink: 0; padding-top: 2px; }
1381.tx-offer .foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
1382.tx-offer .price { font-family: var(--f-mono); font-size: 12px; color: var(--ta-on-surface-muted); }
1383.tx-offer .go { font-size: 14px; font-weight: 600; color: var(--ta-primary); text-decoration: none; }
1384.tx-offer .go:hover { text-decoration: underline; text-underline-offset: 3px; }
1385
1386/* ---- case studies ---- */
1387.tx-cases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
1388.tx-case {
1389  border-top: 1px solid var(--ta-hairline); padding: 18px 4px 6px;
1390  display: flex; flex-direction: column; gap: 10px; position: relative;
1391  transition: transform 220ms cubic-bezier(.2,0,0,1), border-color 200ms;
1392}
1393.tx-case:hover { transform: translateY(-3px); border-top-color: var(--ta-primary); }
1394.tx-case .cl { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
1395.tx-case .cl .nm { font-family: var(--f-serif); font-weight: 600; font-size: 18px; color: var(--ta-navy); }
1396.tx-case .cl .sec { font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ta-on-surface-muted); }
1397.tx-case p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--ta-on-surface-var); }
1398.tx-case .out { font-size: 13.5px; color: var(--ta-navy); border-left: 2px solid var(--ta-primary); padding-left: 10px; }
1399.tx-case .out b { font-weight: 600; }
1400
1401/* ---- instructor strip ---- */
1402.tx-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
1403.tx-person { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--ta-hairline); padding-top: 14px; transition: transform 220ms cubic-bezier(.2,0,0,1), border-color 200ms; }
1404.tx-person:hover { transform: translateY(-3px); border-top-color: var(--ta-primary); }
1405.tx-person .av {
1406  width: 44px; height: 44px; border-radius: 50%; background: var(--ta-navy); color: #fff;
1407  display: flex; align-items: center; justify-content: center;
1408  font-family: var(--f-serif); font-size: 16px; font-weight: 600;
1409}
1410.tx-person .nm { font-weight: 600; font-size: 15px; color: var(--ta-navy); }
1411.tx-person .rl { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.04em; color: var(--ta-primary); }
1412.tx-person p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--ta-on-surface-var); }
1413
1414/* ---- numbers band ---- */
1415.tx-numbers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
1416.tx-num { display: flex; flex-direction: column; gap: 4px; border-left: 1px solid var(--ta-hairline-soft); padding-left: 16px; }
1417.tx-num .n { font-family: var(--f-serif); font-size: clamp(28px, 3vw, 40px); font-weight: 600; color: var(--ta-navy); line-height: 1; }
1418.tx-num .l { font-family: var(--f-mono); font-size: 11.5px; line-height: 1.5; color: var(--ta-on-surface-var); }
1419.tx-numbers.on-dark .tx-num { border-left-color: rgba(255,255,255,0.22); }
1420.tx-numbers.on-dark .n { color: #fff; }
1421.tx-numbers.on-dark .l { color: rgba(255,255,255,0.72); }
1422
1423/* ---- evidence cards (self-contained twin of ta-evi) ---- */
1424.tx-evi { border-top: 1px solid var(--ta-hairline); padding: 18px 4px 8px; display: flex; flex-direction: column; gap: 10px; transition: transform 220ms cubic-bezier(.2,0,0,1), border-color 200ms; }
1425.tx-evi:hover { transform: translateY(-3px); border-top-color: var(--ta-primary); }
1426.tx-evi .fig { font-family: var(--f-serif); font-size: 22px; font-weight: 600; color: var(--ta-navy); }
1427.tx-evi .fig em { font-style: italic; color: var(--ta-primary); }
1428.tx-evi p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ta-on-surface-var); }
1429.tx-evi .src { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.04em; color: var(--ta-on-surface-muted); }
1430
1431/* ---- quotes (self-contained) ---- */
1432.tx-quote {
1433  background: var(--ta-surface-lowest); border: 1px solid var(--ta-outline-neutral); border-radius: 12px;
1434  padding: 24px 26px; display: flex; flex-direction: column; gap: 14px; margin: 0; position: relative; overflow: hidden;
1435}
1436.tx-quote .q { font-family: var(--f-serif); font-size: 17px; line-height: 1.5; color: var(--ta-navy); margin: 0; }
1437.tx-quote .who { display: flex; align-items: center; gap: 10px; }
1438.tx-quote .who .nm { font-weight: 600; font-size: 14px; color: var(--ta-navy); }
1439.tx-quote .who .rl { font-family: var(--f-mono); font-size: 11.5px; color: var(--ta-on-surface-muted); }
1440.tx-quote.inverse { background: var(--ta-navy); border-color: var(--ta-navy); }
1441.tx-quote.inverse .q { color: #fff; }
1442.tx-quote.inverse .who .nm { color: #fff; }
1443.tx-quote.inverse .who .rl { color: rgba(255,255,255,0.6); }
1444.tx-quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
1445
1446/* ---- beyond-training strip ---- */
1447.tx-beyond { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
1448.tx-bey { border-top: 1px solid var(--ta-hairline); padding: 16px 4px 6px; display: flex; flex-direction: column; gap: 8px; transition: transform 220ms cubic-bezier(.2,0,0,1), border-color 200ms; }
1449.tx-bey:hover { transform: translateY(-3px); border-top-color: var(--ta-primary); }
1450.tx-bey .k { font-family: var(--f-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ta-primary); }
1451.tx-bey h4 { margin: 0; font-family: var(--f-serif); font-size: 18px; font-weight: 600; color: var(--ta-navy); }
1452.tx-bey p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--ta-on-surface-var); }
1453
1454/* ---- mid-page CTA band ---- */
1455.tx-ctaband {
1456  background: var(--ta-navy); border-radius: 14px; padding: 34px 36px; position: relative; overflow: hidden;
1457  display: flex; align-items: center; justify-content: space-between; gap: 20px 36px; flex-wrap: wrap;
1458}
1459.tx-ctaband h3 { margin: 0; font-family: var(--f-serif); font-weight: 500; font-size: clamp(21px, 2.4vw, 28px); color: #fff; letter-spacing: -0.01em; }
1460.tx-ctaband h3 em { font-style: italic; color: #7a93ff; }
1461.tx-ctaband p { margin: 6px 0 0; font-size: 14px; color: rgba(255,255,255,0.75); }
1462.tx-ctaband .ctas { display: flex; gap: 12px; flex-wrap: wrap; }
1463.tx-ctaband > div:first-child { position: relative; z-index: 1; }
1464.tx-ctaband .ctas { position: relative; z-index: 1; }
1465
1466/* ---- comparison table ---- */
1467.tx-compare-wrap { overflow-x: auto; border: 1px solid var(--ta-outline-neutral); border-radius: 12px; background: var(--ta-surface-lowest); }
1468.tx-compare { width: 100%; border-collapse: collapse; min-width: 640px; }
1469.tx-compare th, .tx-compare td { text-align: left; padding: 14px 18px; border-bottom: 1px solid var(--ta-outline-neutral); font-size: 14px; line-height: 1.5; color: var(--ta-on-surface-var); vertical-align: top; }
1470.tx-compare th { font-family: var(--f-mono); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ta-on-surface-muted); background: var(--ta-surface-low); }
1471.tx-compare td:first-child { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ta-on-surface-muted); white-space: nowrap; }
1472.tx-compare td b { color: var(--ta-navy); font-weight: 600; }
1473.tx-compare tr:last-child td { border-bottom: none; }
1474.tx-compare .stepcol { color: var(--ta-navy); }
1475
1476/* ---- objection rows ---- */
1477.tx-objs { display: flex; flex-direction: column; }
1478.tx-obj { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 12px 40px; padding: 20px 4px; border-top: 1px solid var(--ta-hairline-soft); transition: background-color 200ms; }
1479.tx-obj:hover { background: rgba(0,62,199,0.025); }
1480.tx-obj:last-child { border-bottom: 1px solid var(--ta-hairline-soft); }
1481.tx-obj .o { font-family: var(--f-serif); font-size: 17px; font-weight: 600; color: var(--ta-navy); font-style: italic; }
1482.tx-obj .a { font-size: 14.5px; line-height: 1.6; color: var(--ta-on-surface-var); }
1483.tx-obj .a b { color: var(--ta-navy); }
1484
1485/* ---- sticky CTA bar ---- */
1486.tx-sticky {
1487  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
1488  background: rgba(11,21,56,0.97); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
1489  padding: 10px 20px; display: none; align-items: center; justify-content: center; gap: 18px;
1490  transform: translateY(100%); transition: transform 300ms cubic-bezier(.2,0,0,1);
1491}
1492.tx-sticky.show { transform: none; }
1493.tx-sticky .t { color: rgba(255,255,255,0.85); font-size: 13.5px; }
1494.tx-sticky .t b { color: #fff; }
1495
1496/* ---- responsive ---- */
1497@media (max-width: 960px) {
1498  .tx-journey { grid-template-columns: 1fr; }
1499  .tx-jarrow { transform: rotate(90deg); padding: 6px 0; }
1500  .tx-cases, .tx-quotes, .tx-offers.three { grid-template-columns: 1fr 1fr; }
1501  .tx-team { grid-template-columns: 1fr 1fr; }
1502  .tx-numbers { grid-template-columns: 1fr 1fr; gap: 18px; }
1503}
1504@media (max-width: 680px) {
1505  .tx-offers, .tx-offers.three, .tx-cases, .tx-quotes { grid-template-columns: 1fr; }
1506  .tx-obj { grid-template-columns: 1fr; gap: 8px; }
1507  .tx-ctaband { padding: 26px 22px; }
1508  .tx-sticky { display: flex; }
1509}
1510@media (min-width: 681px) { .tx-sticky { display: flex; } }
1511@media (prefers-reduced-motion: reduce) {
1512  .tx-jstep, .tx-offer, .tx-case, .tx-person, .tx-evi, .tx-bey, .tx-sticky { transition: none !important; }
1513}
1514
1515/* ---------------------------------------------------------------------------
1516   Course price-card payment toggle (one-time vs 3-month plan) — Aug 2026
1517--------------------------------------------------------------------------- */
1518.ta-pay-toggle {
1519  display: grid; grid-template-columns: 1fr 1fr; gap: 4px;
1520  border: 1px solid var(--ta-hairline); border-radius: 8px; padding: 4px;
1521  background: var(--ta-surface-low);
1522}
1523.ta-pay-toggle button {
1524  font-family: var(--f-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.05em;
1525  text-transform: uppercase; color: var(--ta-on-surface-var);
1526  background: transparent; border: 0; border-radius: 5px; padding: 8px 6px; cursor: pointer;
1527}
1528.ta-pay-toggle button.on { background: var(--ta-primary); color: #fff; }
1529.ta-pay-toggle button:focus-visible { outline: 2px solid var(--ta-navy); outline-offset: 2px; }
1530@media (max-width: 719px) { .ta-pay-toggle button { padding: 12px 6px; } }
1531/* .ta-btn sets display, which would defeat the hidden attribute on swapped CTAs */
1532.ta-price-card [data-pay][hidden] { display: none !important; }
1533
1534/* Hero price card (course pages): the intro video doubles as the card cover */
1535.ta-hero-grid .ta-price-card { width: 100%; max-width: 460px; justify-self: end; }
1536@media (max-width: 1023px) {
1537  .ta-hero-grid .ta-price-card { max-width: none; justify-self: stretch; }
1538}
1539.ta-price-card .ta-video.cover {
1540  border-radius: 0; border: 0; box-shadow: none;
1541  border-bottom: 1px solid var(--ta-outline-neutral);
1542}
1543.ta-pay .note { font-size: 13px; line-height: 1.5; color: var(--ta-on-surface-var); margin: 8px 0 0; }
1544
1545/* Hero instructor credit (course pages) */
1546.ta-hero-teach { display: flex; align-items: center; gap: 12px; }
1547.ta-hero-teach .imgs { display: flex; flex-shrink: 0; }
1548.ta-hero-teach .imgs img {
1549  width: 42px; height: 42px; border-radius: 50%; object-fit: cover;
1550  border: 2px solid var(--ta-surface); display: block;
1551}
1552.ta-hero-teach .imgs img + img { margin-left: -12px; }
1553.ta-hero-teach .t { font-size: 13.5px; line-height: 1.45; color: var(--ta-on-surface-var); }
1554.ta-hero-teach .t b { color: var(--ta-navy); font-weight: 600; }
1555.ta-hero-teach .t .rl {
1556  display: block; font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 0.07em;
1557  text-transform: uppercase; color: var(--ta-on-surface-muted); margin-top: 3px;
1558}
1559
1560/* Mentorship hero mentor-faces strip */
1561.ta-ment-faces { display: flex; align-items: center; gap: 14px; margin-top: 2px; }
1562.ta-ment-faces .imgs { display: flex; flex-shrink: 0; }
1563.ta-ment-faces .imgs img {
1564  width: 36px; height: 36px; border-radius: 50%; object-fit: cover;
1565  border: 2px solid var(--ta-surface); display: block;
1566}
1567.ta-ment-faces .imgs img + img { margin-left: -11px; }
1568.ta-ment-faces .cap { font-size: 13px; line-height: 1.5; color: var(--ta-on-surface-var); }
1569.ta-ment-faces .cap b { color: var(--ta-navy); font-weight: 600; }
1570@media (max-width: 719px) { .ta-ment-faces { flex-direction: column; align-items: flex-start; gap: 10px; } }
1571
1572/* Mentorship: For-you doors are informational, not clickable — no hover shift */
1573.ta-fit.ta-ment-door:hover { transform: none; border-top-color: var(--ta-hairline-soft); }
1574
1575/* Mentorship: monthly-cadence tiles at the top of the offer section */
1576.ta-ment-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin: 6px 0 44px; }
1577.ta-ment-tiles .t { border-top: 2px solid var(--ta-navy); padding-top: 12px; }
1578.ta-ment-tiles .num { font-family: var(--f-serif); font-size: 27px; font-weight: 600; color: var(--ta-navy); display: block; }
1579.ta-ment-tiles .lbl {
1580  font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
1581  color: var(--ta-navy); display: block; margin-top: 6px;
1582}
1583.ta-ment-tiles .sub { font-size: 12.5px; color: var(--ta-on-surface-muted); display: block; margin-top: 3px; }
1584@media (max-width: 719px) { .ta-ment-tiles { grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 34px; } }
1585
1586/* Mentorship: slightly larger client logos (page-scoped via .lg modifier) */
1587.ta-logoband.lg img { max-height: 52px; max-width: 156px; }
1588.ta-logoband .sub-lbl {
1589  font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.12em; text-transform: uppercase;
1590  color: var(--ta-on-surface-muted); text-align: center; margin: 26px 0 0;
1591}
1592
1593/* Mentorship: earned-pathways expandable detail */
1594.ta-ment-pathways details { margin-top: 10px; }
1595.ta-ment-pathways summary {
1596  cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 8px;
1597  font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.07em; text-transform: uppercase;
1598  color: var(--ta-primary);
1599}
1600.ta-ment-pathways summary::-webkit-details-marker { display: none; }
1601.ta-ment-pathways details .a { font-size: 14px; line-height: 1.65; color: var(--ta-on-surface-var); margin: 10px 0 0; max-width: 68ch; }
1602
1603/* ---------------------------------------------------------------------------
1604   Price-card savings pill + course-context rows; course/bundle fit picker
1605--------------------------------------------------------------------------- */
1606.ta-price-row .save {
1607  align-self: center; font-family: var(--f-mono); font-size: 10.5px; font-weight: 500;
1608  letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap;
1609  background: #0e7a3d; color: #fff; border-radius: 999px; padding: 5px 10px;
1610}
1611.ta-price-card .about { margin: 0; }
1612.ta-price-card .about .row {
1613  display: grid; grid-template-columns: 88px 1fr; gap: 0 14px; padding: 9px 0;
1614  border-top: 1px dotted var(--ta-hairline-soft); align-items: baseline;
1615}
1616.ta-price-card .about .row:first-of-type { border-top: 1px solid var(--ta-outline-neutral); }
1617.ta-price-card .about dt {
1618  font-family: var(--f-mono); font-size: 10.5px; font-weight: 500;
1619  letter-spacing: 0.08em; text-transform: uppercase; color: var(--ta-on-surface-muted);
1620}
1621.ta-price-card .about dd { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--ta-navy); }
1622
1623/* Fit picker (bundles page): two pill-group questions -> recommendation panel */
1624.ta-fit-picker { max-width: 860px; }
1625.ta-fit-picker .q { margin-top: 22px; }
1626.ta-fit-picker .q .k {
1627  display: block; font-family: var(--f-mono); font-size: 11px; font-weight: 500;
1628  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ta-on-surface-muted);
1629  margin-bottom: 10px;
1630}
1631.ta-fit-picker .opts { display: flex; flex-wrap: wrap; gap: 8px; }
1632.ta-fit-picker .opts button {
1633  font-family: var(--f-mono); font-size: 11.5px; font-weight: 500; letter-spacing: 0.05em;
1634  text-transform: uppercase; color: var(--ta-on-surface-var);
1635  background: var(--ta-surface-lowest); border: 1px solid var(--ta-hairline);
1636  border-radius: 999px; padding: 10px 16px; cursor: pointer;
1637}
1638.ta-fit-picker .opts button.on { background: var(--ta-primary); border-color: var(--ta-primary); color: #fff; }
1639.ta-fit-picker .opts button:focus-visible { outline: 2px solid var(--ta-navy); outline-offset: 2px; }
1640.ta-fit-result { margin-top: 30px; }
1641.ta-fit-result .why {
1642  font-size: 14px; line-height: 1.55; color: var(--ta-on-surface-var);
1643  border-top: 1px dotted var(--ta-hairline-soft); padding-top: 12px; margin: 12px 0 0;
1644}
1645.ta-fit-result .pick { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: baseline; padding-top: 14px; }
1646.ta-fit-result .pick .nm { font-family: var(--f-serif); font-size: 24px; font-weight: 600; color: var(--ta-navy); }
1647.ta-fit-result .pick .pr { font-family: var(--f-mono); font-size: 14px; color: var(--ta-on-surface-var); }
1648.ta-fit-result .pick .pr .was { text-decoration: line-through; color: var(--ta-on-surface-muted); margin-right: 8px; }
1649.ta-fit-result .cta-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 16px; }
1650.ta-fit-result .alt {
1651  font-size: 13.5px; line-height: 1.55; color: var(--ta-on-surface-var);
1652  border-top: 1px dotted var(--ta-hairline-soft); margin-top: 18px; padding-top: 12px;
1653}
1654.ta-fit-result .alt a { color: var(--ta-primary); }
1655.ta-prod .prow .save-pill {
1656  font-family: var(--f-mono); font-size: 10.5px; font-weight: 500; letter-spacing: 0.06em;
1657  text-transform: uppercase; background: #0e7a3d; color: #fff; border-radius: 999px;
1658  padding: 4px 9px; margin-left: 10px; white-space: nowrap;
1659}
1660
1661/* Fit picker: one-or-two pick blocks (single reco vs. staged route) */
1662.ta-fit-result .pk { padding: 14px 0 18px; }
1663.ta-fit-result .pk + .pk { border-top: 1px dotted var(--ta-hairline-soft); }
1664.ta-fit-result .pk .step {
1665  display: block; font-family: var(--f-mono); font-size: 10.5px; font-weight: 500;
1666  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ta-primary); margin-bottom: 6px;
1667}
1668.ta-fit-result .pk .pick { padding-top: 0; }
1669.ta-fit-result .pk .why { border-top: 0; padding-top: 0; margin: 8px 0 14px; }
1670@media (max-width: 719px) {
1671  .ta-fit-result .pick { flex-direction: column; align-items: flex-start; gap: 6px; }
1672}
1673
1674/* ---------------------------------------------------------------------------
1675   Agentic enterprise page additions (Sept 2026): pain strip, headsh
1675ots,
1676   syllabus artefact notes, stacked coverage table, static METR comparison,
1677   question-first objections, still glance card
1678--------------------------------------------------------------------------- */
1679.ta-glance.still:hover { transform: none; box-shadow: none; }
1680
1681/* Pain-point strip: one row of plain statements, marquee on desktop, swipe on touch */
1682.tx-pains { position: relative; padding: 26px 0 30px; border-bottom: 1px solid var(--ta-outline-neutral); }
1683.tx-pains .lbl {
1684  font-family: var(--f-mono); font-size: 11.5px; font-weight: 500; letter-spacing: 0.1em;
1685  text-transform: uppercase; color: var(--ta-on-surface-muted); margin: 0 0 14px;
1686}
1687.tx-pains .track { overflow: hidden; outline: none; }
1688.tx-pains .track:focus-visible { box-shadow: inset 0 0 0 2px var(--ta-primary); }
1689.tx-pains::before, .tx-pains::after {
1690  content: ""; position: absolute; top: 0; bottom: 0; width: 72px; pointer-events: none; z-index: 1;
1691}
1692.tx-pains::before { left: 0; background: linear-gradient(90deg, var(--ta-surface), rgba(248,247,244,0)); }
1693.tx-pains::after { right: 0; background: linear-gradient(270deg, var(--ta-surface), rgba(248,247,244,0)); }
1694.tx-pains ul {
1695  display: flex; align-items: baseline; margin: 0; padding: 0 0 0 clamp(20px, 5vw, 64px); list-style: none;
1696  width: max-content; animation: tx-pains-scroll 84s linear infinite;
1697}
1698.tx-pains li {
1699  font-family: var(--f-serif); font-size: 16px; line-height: 1.4; color: var(--ta-navy);
1700  white-space: nowrap; padding: 0 22px; position: relative;
1701}
1702.tx-pains li + li::before {
1703  content: "\00b7"; position: absolute; left: -4px; top: 0; color: var(--ta-primary); font-size: 18px;
1704}
1705.tx-pains .track:hover ul, .tx-pains .track:focus-within ul, .tx-pains .track:focus ul { animation-play-state: paused; }
1706@keyframes tx-pains-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
1707@media (max-width: 1023px), (prefers-reduced-motion: reduce) {
1708  .tx-pains .track { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
1709  .tx-pains .track::-webkit-scrollbar { display: none; }
1710  .tx-pains::before { display: none; }
1711  .tx-pains::after { width: 56px; }
1712  .tx-pains ul { animation: none; padding-right: 20px; }
1713  .tx-pains li { scroll-snap-align: start; font-size: 15.5px; }
1714  .tx-pains li.dup { display: none; }
1715}
1716
1717/* Instructor headshots in the who-delivers grid */
1718.tx-person .ph {
1719  width: 56px; height: 56px; border-radius: 50%; object-fit: cover; display: block;
1720  border: 1px solid var(--ta-hairline); background: var(--ta-surface-lowest);
1721}
1722
1723/* Syllabus artefact line inside a module */
1724.ta-syl .ta-syllabus-note { margin: -6px 0 18px 44px; color: var(--ta-navy); }
1725.ta-syl .ta-syllabus-note::before { content: "\2192\00a0"; color: var(--ta-primary); }
1726@media (max-width: 719px) { .ta-syl .ta-syllabus-note { margin-left: 0; } }
1727
1728/* Coverage table: stacks into label-led blocks on phones */
1729.tx-compare th[scope="row"] { font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ta-on-surface-muted); background: transparent; white-space: nowrap; }
1730@media (max-width: 719px) {
1731  .tx-compare-wrap.stack { overflow: visible; }
1732  .tx-compare-wrap.stack .tx-compare { min-width: 0; display: block; }
1733  .tx-compare-wrap.stack thead { display: none; }
1734  .tx-compare-wrap.stack tbody, .tx-compare-wrap.stack tr { display: block; }
1735  .tx-compare-wrap.stack tr { padding: 10px 16px 12px; border-bottom: 1px solid var(--ta-outline-neutral); }
1736  .tx-compare-wrap.stack tr:last-child { border-bottom: none; }
1737  .tx-compare-wrap.stack th[scope="row"] { display: block; padding: 6px 0 4px; border: none; }
1738  .tx-compare-wrap.stack td { display: block; position: relative; padding: 7px 0 7px 108px; border: none; border-top: 1px dotted var(--ta-hairline-soft); font-size: 13.5px; }
1739  .tx-compare-wrap.stack td::before { content: attr(data-col); position: absolute; left: 0; top: 9px; font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ta-primary); }
1740}
1741
1742/* Static METR belief-vs-measurement comparison (CSS only, no motion) */
1743.tx-metr { display: flex; flex-direction: column; gap: 8px; margin: 2px 0 4px; }
1744.tx-metr .r { display: grid; grid-template-columns: 74px 1fr 48px; align-items: center; gap: 12px; }
1745.tx-metr .k { font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ta-on-surface-muted); }
1746.tx-metr .v { font-family: var(--f-mono); font-size: 12.5px; font-weight: 600; color: var(--ta-navy); text-align: right; }
1747.tx-metr .ax { position: relative; height: 18px; }
1748.tx-metr .ax::before { content: ""; position: absolute; left: 50%; top: -4px; bottom: -4px; width: 1px; background: var(--ta-hairline); }
1749.tx-metr .bar { position: absolute; top: 2px; height: 14px; }
1750.tx-metr .bar.pos { left: 50%; background: var(--ta-primary); }
1751.tx-metr .bar.neg { right: 50%; background: var(--ta-navy); }
1752
1753/* Question-first objections: serif italic questions on the shared FAQ accordion */
1754.tx-objs.ta-faq { max-width: none; }
1755.tx-objs.ta-faq summary { font-family: var(--f-serif); font-style: italic; font-size: 17px; }
1756.tx-objs.ta-faq summary .tog { font-style: normal; }
1757.tx-objs.ta-faq .a { max-width: 820px; }
1758
1759/* Brand wordmark: alpha mask, recolored via background */
1760.ta-logo-mark {
1761  display: inline-block; width: 146px; height: 13.8px; flex-shrink: 0;
1762  background: var(--ta-navy);
1763  -webkit-mask: url('data:image/png;base64,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') no-repeat left center / contain;
1764          mask: url('data:image/png;base64,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') no-repeat left center / contain;
1765}
1766.ta-logo-mark.on-dark { background: #fff; }
1767.ta-logo-mark.lg { width: 170px; height: 16px; }
1768.ta-nav-logo { align-items: center; }
1769.ta-nav-logo .word-sub, .ta-footer .word-sub {
1770  font-family: var(--f-serif); font-style: italic; font-weight: 500;
1771  font-size: 17px; color: var(--ta-primary); line-height: 1;
1771 margin-top: 1px;
1772}
1773.ta-footer .word-sub { color: #7a93ff; font-size: 18px; }
1774@media (max-width: 719px) {
1775  .ta-logo-mark { width: 126px; height: 11.9px; }
1776}
1777
1778</style>
1779</head>
1780<body>
1781
1782<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 1782-1783
1782
1783<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1783GTM-N8HMSMS2
vendor: 83 bytes, lines 1783-1784
1783"
1784height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1785<!-- End Google Tag Manager (noscript) -->
1786
1787<style>
1788.ta-launchbar { position: relative; z-index: 1; background: #0b1538; color: rgba(255,255,255,0.88); font-family: 'Instrument Sans', system-ui, sans-serif; }
1789.ta-launchbar-inner { max-width: 1320px; margin: 0 auto; padding: 9px 24px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 18px; }
1790.ta-launchbar-count { display: inline-flex; align-items: center; gap: 10px; padding: 5px 14px 5px 12px; border: 1px solid rgba(255,255,255,0.28); border-radius: 999px; white-space: nowrap; }
1791.ta-launchbar-count .lbl { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-size: 11px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #a7b8ff; }
1792.ta-launchbar-count strong { font-family: 'Lora', Georgia, serif; font-size: 16px; font-weight: 600; color: #fff; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
1793.ta-launchbar-copy { font-family: 'Lora', Georgia, serif; font-size: 16px; line-height: 1.4; color: rgba(255,255,255,0.88); }
1794.ta-launchbar-copy em { font-style: italic; color: #fff; }
1795.ta-launchbar-copy .short { display: none; }
1796.ta-launchbar-cta { display: inline-flex; align-items: center; gap: 8px; padding: 8px 18px; border-radius: 999px; background: #fff; color: #0b1538; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: transform 160ms cubic-bezier(.2,0,0,1), box-shadow 160ms; }
1797.ta-launchbar-cta:hover { transform: translateY(-1px); box-shadow: 0 10px 22px -10px rgba(0,0,0,0.6); color: #0b1538; }
1798.ta-launchbar-cta:focus-visible { outline: 2px solid #a7b8ff; outline-offset: 2px; }
1799@media (max-width: 1023px) { .ta-launchbar-inner { gap: 8px 14px; } .ta-launchbar-copy { font-size: 15px; } }
1800@media (max-width: 719px) {
1801  .ta-launchbar-inner { padding: 10px 16px 12px; gap: 8px 10px; }
1802  .ta-launchbar-copy { order: -1; flex: 1 1 100%; text-align: center; font-size: 13.5px; }
1803  .ta-launchbar-copy .long { display: none; }
1804  .ta-launchbar-copy .short { display: inline; }
1805  .ta-launchbar-count .lbl { display: none; }
1806  .ta-launchbar-count { padding: 6px 14px; min-height: 42px; }
1807  .ta-launchbar-count strong { font-size: 14px; }
1808  .ta-launchbar-cta { padding: 10px 16px; font-size: 13.5px; min-height: 42px; }
1809}
1810</style>
1811<div class="ta-launchbar" data-launchbar data-launch-at="2026-11-10T12:30:00-05:00" role="region" aria-label="New book launch">
1812  <div class="ta-launchbar-inner">
1813    <span class="ta-launchbar-count"><span class="lbl" data-launchbar-label>Until launch day</span><strong data-launchbar-value>November 10</strong></span>
1814    <span class="ta-launchbar-copy"><span class="long" data-launchbar-copy>Our new book, <em>AI Engineering For Production</em>, launches November 10.</span><span class="short" data-launchbar-copy-short>New book: <em>AI Engineering For Production</em>, Nov&nbsp;10.</span></span>
1815    <a class="ta-launchbar-cta" href="https://www.louisbouchard.ai/book/?utm_source=site-tai&amp;utm_medium=banner&amp;utm_campaign=book#register"><span data-launchbar-cta-label>Join us on launch day</span> <span aria-hidden="true">&rarr;</span></a>
1816  </div>
1817</div>
1818<script>(function(){var b=document.querySelector('[data-launchbar]');if(!b)return;var v=b.querySelector('[data-launchbar-value]'),l=b.querySelector('[data-launchbar-label]'),c=b.querySelector('[data-launchbar-copy]'),s=b.querySelector('[data-launchbar-copy-short]'),a=b.querySelector('[data-launchbar-cta-label]');var t=new Date(b.getAttribute('data-launch-at')||'').getTime();if(!v||isNaN(t))return;function pad(n){return (n<10?'0':'')+n}function tick(){var d=t-Date.now();if(d<=0){b.setAttribute('data-launched','');if(l)l.textContent='Launch day';v.textContent='Out now';if(c)c.innerHTML='Our new book, <em>AI Engineering For Production</em>, is out now.';if(s)s.innerHTML='Out now: <em>AI Engineering For Production</em>.';if(a)a.textContent='Get the book';return false}var D=Math.floor(d/864e5),H=Math.floor(d%864e5/36e5),M=Math.floor(d%36e5/6e4);v.textContent=D+'d '+pad(H)+'h '+pad(M)+'m';return true}if(tick()){var i=setInterval(function(){if(!tick())clearInterval(i)},15000)}})();</script>
1818
1819
1820
1821<nav class="ta-nav">
1822  <div class="ta-nav-inner">
1823    <a href="/academy/" class="ta-nav-logo" aria-label="Towards AI Academy">
1824      <span class="ta-logo-mark" role="img" aria-label="Towards AI"></span>
1825      <span class="word-sub">Academy</span>
1826    </a>
1827    <div class="ta-nav-links">
1828      <a class="ta-nav-link" href="/academy/bundles/">Our Courses</a>
1829      <a class="ta-nav-link" href="/academy/about/">About Us</a>
1830      <a class="ta-nav-link" href="/enterpriseenablement/">B2B</a>
1831      <a class="ta-nav-link" href="/academy/affiliate/">Affiliate</a>
1832      <a class="ta-nav-link" href="/academy/contact/">Contact</a>
1833    </div>
1834    <div class="ta-nav-cta">
1835      <a class="ta-btn ta-btn-blue ta-btn-sm" href="/academy/mentorship/">Mentorship</a>
1836      <a class="ta-btn ta-btn-secondary ta-btn-sm" href="https://academy.towardsai.net/users/sign_in">Sign in</a>
1837      <a class="ta-btn ta-btn-primary ta-btn-sm" href="/academy/#pathway">Browse courses</a>
1838    </div>
1839    <button class="ta-nav-burger" aria-label="Open menu">
1840      <svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M4 7h16M4 12h16M4 17h16" stroke="#0b1538" stroke-width="2" stroke-linecap="round"/></svg>
1841    </button>
1842  </div>
1843</nav>
1844<div class="ta-mobile-menu">
1845  <div class="close-row">
1846    <span style="display:inline-flex;align-items:center;gap:8px"><span class="ta-logo-mark" role="img" aria-label="Towards AI"></span><span class="word-sub" style="font-family:var(--f-serif);font-style:italic;font-weight:500;font-size:17px;color:var(--ta-primary)">Academy</span></span>
1847    <button class="m-close ta-nav-burger" style="display:flex" aria-label="Close menu">
1848      <svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M6 6l12 12M18 6L6 18" stroke="#0b1538" stroke-width="2" stroke-linecap="round"/></svg>
1849    </button>
1850  </div>
1851  <a class="m-link" href="/academy/bundles/">Our Courses</a>
1852  <a class="m-link" href="/academy/mentorship/">Mentorship</a>
1853  <a class="m-link" href="/academy/about/">About Us</a>
1854  <a class="m-link" href="/enterpriseenablement/">B2B</a>
1855  <a class="m-link" href="/academy/affiliate/">Affiliate</a>
1856  <a class="m-link" href="/academy/contact/">Contact</a>
1857  <a class="m-link" href="https://academy.towardsai.net/users/sign_in">Sign in</a>
1858  <div class="m-ctas">
1859    <a class="ta-btn ta-btn-blue" href="/academy/mentorship/">Join the Mentorship</a>
1860    <a class="ta-btn ta-btn-primary" href="/academy/#pathway">Browse courses</a>
1861  </div>
1862</div>
1863
1864<!-- ============================================== HERO -->
1865<header class="ta-hero">
1866  <div class="ta-pixel-drift"></div>
1867  <div class="ta-grain"></div>
1868  <div class="ta-container">
1869    <div style="max-width:780px; display:flex; flex-direction:column; gap:20px; align-items:flex-start">
1870      <span class="ta-eyebrow">About Towards AI</span>
1871      <h1 class="ta-h1">Training developers for <em>production AI</em></h1>
1872      <p class="ta-lede">Through project-based courses, in-person bootcamps, and customized enterprise programs.</p>
1873      <div class="ta-hero-stats" style="max-width:640px">
1874        <div class="ta-stat"><span class="num">10,000+</span><span class="lbl">engineers enrolled since 2019</span></div>
1875        <div class="ta-stat"><span class="num">500k+</span><span class="lbl">learners across our platforms</span></div>
1876        <div class="ta-stat"><span class="num">15+</span><span class="lbl">AI practitioners on the team</span></div>
1877      </div>
1878    </div>
1879  </div>
1880</header>
1881
1882<!-- ============================================== ORGS -->
1883<div class="ta-logoband">
1884  <div class="ta-container">
1885    <p class="lbl">Including teams at</p>
1886    <div class="row">
1887      <img src="/academy-assets/logo-europol.png" alt="Europol">
1888      <img src="/academy-assets/logo-nypl.png" alt="New York Public Library">
1889      <img src="/academy-assets/logo-intel.png" alt="Intel">
1890      <img src="/academy-assets/logo-activeloop.png" alt="Activeloop">
1891      <img src="/academy-assets/logo-jpmorgan.png" alt="J.P. Morgan">
1892    </div>
1893  </div>
1894</div>
1895
1896<!-- ============================================== FOUNDERS -->
1897<section class="ta-section" id="founders">
1898  <div class="ta-container">
1899    <div class="ta-section-head">
1900      <span class="ta-eyebrow"><span class="num">01</span>Leadership</span>
1901      <h2 class="ta-h2">Meet our <em>founders</em></h2>
1902    </div>
1903    <div class="ta-founder">
1904      <div class="pic"><img src="/academy-assets/louie-peters.jpeg" alt="Louie Peters, Co-founder and CEO of Towards AI" loading="lazy"></div>
1905      <div>
1906        <blockquote>&ldquo;We are at the beginning of the most significant technological shift in history. The solutions that define this era, in healthcare, energy, finance, and education, will be built by AI engineers. I am building Towards AI to be where those engineers are made.&rdquo;</blockquote>
1907        <span class="nm">Louie Peters &middot; Co-founder &amp; CEO</span>
1908      </div>
1909    </div>
1910    <div class="ta-founder flip">
1911      <div>
1912        <blockquote>&ldquo;I left academia to solve real problems and discovered the hardest one was finding training that reflected how production AI actually works. So I built them. Everything we create at Towards AI is focused on one thing: you will learn to build and ship production-grade AI systems.&rdquo;</blockquote>
1913        <span class="nm">Louis-Fran&ccedil;ois Bouchard &middot; Co-founder &amp; CTO</span>
1914      </div>
1915      <div class="pic"><img src="/academy-assets/louis-francois-bouchard.jpeg" alt="Louis-François Bouchard, Co-founder and CTO of Towards AI" loading="lazy"></div>
1916    </div>
1917  </div>
1918</section>
1919
1920<!-- ============================================== WHAT WE DO -->
1921<section class="ta-section" id="offerings" style="background:var(--ta-surface-low)">
1922  <div class="ta-container">
1923    <div class="ta-section-head">
1924      <span class="ta-eyebrow"><span class="num">02</span>What we do</span>
1925      <h2 class="ta-h2">Three ways we train <em>AI-first teams</em></h2>
1926    </div>
1927
1928    <article class="ta-offer">
1929      <div class="copy">
1930        <span class="ta-path-step"><span class="n">1 / 3</span>For individuals</span>
1931        <h3 class="title" style="font-family:var(--f-serif);font-weight:500;font-size:clamp(24px,2.4vw,32px);line-height:1.15;color:var(--ta-navy);margin:0">Project-based courses</h3>
1932        <span class="ta-path-best">The most in-depth path from developer to AI engineer</span>
1933        <p class="ta-body">Most developers hit the same wall: tutorials that work in notebooks but fall apart in production. Our courses are built around one project taken end-to-end, from raw data pipeline to live deployment, including the failure modes notebooks never show you. By the time you finish, you've shipped something that works.</p>
1934        <a class="ta-btn ta-btn-primary" href="/academy/full-stack-ai-engineering/">Become an AI Engineer</a>
1935      </div>
1936      <div class="media">
1937        <img src="/academy-assets/full-stack-engineering.png" alt="Full Stack AI Engineering course artwork" loading="lazy">
1938      </div>
1939    </article>
1940
1941    <article class="ta-offer flip">
1942      <div class="copy">
1943        <span class="ta-path-step"><span class="n">2 / 3</span>For teams</span>
1944        <h3 class="title" style="font-family:var(--f-serif);font-weight:500;font-size:clamp(24px,2.4vw,32px);line-height:1.15;color:var(--ta-navy);margin:0">In-person bootcamps</h3>
1945        <span class="ta-path-best">Intensive training to accelerate AI adoption within your teams</span>
1946        <p class="ta-body">Your developers know how to code. The gap is knowing how to build reliably on top of probabilistic systems, so LLM features hold up under real usage. Our bootcamps close that gap directly, tailored to your stack and the specific problems your team is trying to solve.</p>
1947        <a class="ta-btn ta-btn-secondary" href="/academy/contact/">Get in touch</a>
1948      </div>
1949      <div class="media">
1950        <img src="/academy-assets/bootcamp-session.jpeg" alt="Towards AI in-person bootcamp session" loading="lazy">
1951      </div>
1952    </article>
1953
1954    <article class="ta-offer">
1955      <div class="copy">
1956        <span class="ta-path-step"><span class="n">3 / 3</span>For organizations</span>
1957        <h3 class="title" style="font-family:var(--f-serif);font-weight:500;font-size:clamp(24px,2.4vw,32px);line-height:1.15;color:var(--ta-navy);margin:0">Customized enterprise programs</h3>
1958        <span class="ta-path-best">End-to-end AI consulting for organizations building with LLMs</span>
1959        <p class="ta-body">Most enterprise teams lack the production experience to know which AI initiatives are worth building. Our team of 15+ AI practitioners works directly with yours to identify the right use cases and build systems that actually deliver.</p>
1960        <a class="ta-btn ta-btn-secondary" href="/enterpriseenablement/">Learn more</a>
1961      </div>
1962      <div class="media">
1963        <aside class="ta-glance" aria-label="Engagement formats">
1964          <div class="hd">Engagement formats</div>
1965          <dl>
1966            <div class="row"><dt>Advisory</dt><dd>Strategic guidance on use cases, models, and architecture</dd></div>
1967            <div class="row"><dt>Sprints</dt><dd>Hands-on development sprints with your team</dd></div>
1968            <div class="row"><dt>Custom build</dt><dd>LLM systems built end-to-end, handed over documented</dd></div>
1969            <div class="row"><dt>Enablement</dt><dd>Training that keeps the capability in-house</dd></div>
1970          </dl>
1971        </aside>
1972      </div>
1973    </article>
1974  </div>
1975</section>
1976
1977<!-- ============================================== ENDORSEMENTS -->
1978<section class="ta-section" id="endorsements">
1979  <div class="ta-container">
1980    <div class="ta-section-head">
1981      <span class="ta-eyebrow"><span class="num">03</span>Trusted voices</span>
1982      <h2 class="ta-h2">Industry leaders on <em>our resources</em></h2>
1983    </div>
1984    <div class="ta-cols">
1985      <figure class="ta-quote" style="margin:0">
1986        <p class="q">&ldquo;Helps learners understand everything from fundamentals to the simple-to-advanced building blocks of constructing LLM applications.&rdquo;</p>
1987        <figcaption class="who">
1988          <img src="/academy-assets/jerry-liu.jpeg" alt="Jerry Liu" loading="lazy">
1989          <div><div class="nm">Jerry Liu</div><div class="rl">Co-founder and CEO, LlamaIndex</div></div>
1990        </figcaption>
1991      </figure>
1992      <figure class="ta-quote" style="margin:0">
1993        <p class="q">&ldquo;Towards AI has done a great job assembling all of the technical resources needed by a modern GenAI applied practitioner.&rdquo;</p>
1994        <figcaption class="who">
1995          <img src="/academy-assets/sander-schulhoff.jpeg" alt="Sander Schulhoff" loading="lazy">
1996          <div><div class="nm">Sander Schulhoff</div><div class="rl">Founder and CEO, Learn Prompting</div></div>
1997        </figcaption>
1998      </figure>
1999      <figure class="ta-quote" style="margin:0">
2000        <p class="q">&ldquo;An indispensable guide for anyone venturing into the world of large language models&hellip; covering everything from theory to practical deployment.&rdquo;</p>
2001        <figcaption class="who">
2002          <img src="/academy-assets/shashank.jpeg" alt="Shashank Kalanithi" loading="lazy">
2003          <div><div class="nm">Shashank Kalanithi</div><div class="rl">Data Engineer, Meta</div></div>
2004        </figcaption>
2005      </figure>
2006    </div>
2007  </div>
2008</section>
2009
2010<!-- ============================================== STORY BAND -->
2011<section class="ta-band" id="story" style="padding:72px 0">
2012  <div class="ta-grain-dark"></div>
2013  <div class="ta-container">
2014    <div style="max-width:780px; margin:0 auto; display:flex; flex-direction:column; gap:18px; text-align:center; align-items:center; position:relative; z-index:1">
2015      <span class="ta-eyebrow on-dark">Since 2019</span>
2016      <h2 class="ta-h2 on-dark">About <em>Towards AI</em></h2>
2017      <p class="ta-lede on-dark">Since 2019, we have been bridging the gap between AI research and what it actually takes to build with it in industry. What started as a newsletter has grown into one of the largest AI learning communities: 500,000+ learners, 200,000+ newsletter subscribers, and a 100,000-member Discord where engineers share what they are actually building.</p>
2018      <p class="ta-lede on-dark">Behind every course, bootcamp, and enterprise program is a team of 15+ AI practitioners who work on production systems daily. They built the training they couldn't find anywhere else.</p>
2019    </div>
2020  </div>
2021</section>
2022
2023<!-- ============================================== WHO FOR + CTA -->
2024<section class="ta-section" id="who">
2025  <div class="ta-container">
2026    <div class="ta-hero-grid" style="align-items:start; gap:56px">
2027      <div style="display:flex; flex-direction:column; gap:16px">
2028        <span class="ta-eyebrow"><span class="num">04</span>Who we serve</span>
2029        <h2 class="ta-h2" style="font-size:clamp(24px,2.6vw,34px)">Who are these resources for?</h2>
2030        <p class="ta-body">Our material is designed for highly motivated learners who are ready to invest in their future. We offer courses for every skill level, and none of them are passive: you'll be actively building through hands-on projects rather than sitting through long videos.</p>
2031        <p class="ta-body">Whether you're a beginner or an experienced coder, the content challenges you and grows with your skills. Expect to dedicate real time to practical assignments that reflect production applications.</p>
2032        <p class="ta-body">Our learners have moved into high-paying AI roles and led AI initiatives inside their companies by gaining the skills to build and operate advanced AI systems.</p>
2033      </div>
2034      <div style="display:flex; flex-direction:column; gap:16px; border-top:2px solid var(--ta-navy); padding-top:20px">
2035        <span class="ta-eyebrow">Start here</span>
2036        <h3 class="ta-h2" style="font-size:clamp(22px,2.2vw,28px)">Find your course</h3>
2037        <p class="ta-body">Five programs, one pathway: from beginner Python to full stack AI engineering and production agents.</p>
2038        <div style="display:flex; flex-direction:column; gap:10px; max-width:360px">
2039          <a class="ta-btn ta-btn-blue ta-btn-lg" href="/academy/#pathway">Browse the pathway</a>
2040          <a class="ta-btn ta-btn-secondary" href="/academy/contact/">Talk to us about team training</a>
2041        </div>
2042      </div>
2043    </div>
2044  </div>
2045</section>
2046
2047
2048<footer class="ta-footer">
2049  <div class="ta-grain-dark"></div>
2050  <div class="ta-container">
2051    <div class="cols">
2052      <div class="brand">
2053        <span style="display:inline-flex;align-items:center;gap:10px"><span class="ta-logo-mark on-dark lg" role="img" aria-label="Towards AI"></span><span class="word-sub">Academy</span></span>
2054        <p>Self-paced, industry-focused courses for developers, professionals, and companies looking to become AI-first. Built by engineers who do this for a living.</p>
2055      </div>
2056      <div class="grp">
2057        <h5>Learn</h5>
2058        <a href="/academy/#pathway">All courses</a>
2059        <a href="/academy/mentorship/">Mentorship</a>
2060        <a href="/academy/bundles/">Bundle and Products</a>
2061        <a href="/academy/full-stack-ai-engineering/">Full Stack AI Engineering</a>
2062        <a href="/academy/agent-engineering/">Agent Engineering</a>
2063        <a href="/academy/llm-primer/">LLM Primer</a>
2064        <a href="/academy/ai-for-work/">AI for Work</a>
2065        <a href="https://www.louisbouchard.ai/book/?utm_source=site-tai&amp;utm_medium=btn&amp;utm_campaign=book#register">The New Book</a>
2066      </div>
2067      <div class="grp">
2068        <h5>Enterprise</h5>
2069        <a href="/enterprise/software-developer-to-ai-engineer/">AI engineer programme</a>
2070        <a href="/enterprise/agentic-developer-conversion/">Agentic developer programme</a>
2071        <a href="/enterpriseenablement/">Enterprise Academy</a>
2072        <a href="/enterpriseenablement/">Towards AI Deployment</a>
2073        <a href="/valuecreation/">Value Creation Consulting</a>
2074      </div>
2075      <div class="grp">
2076        <h5>Resources</h5>
2077        <a href="https://benchmark.towardsai.com/">ToneBench</a>
2078        <a href="https://pub.towardsai.net/">Publication</a>
2079        <a href="https://newsletter.towardsai.net/">Newsletter</a>
2080        <a href="https://jobs.towardsai.net/">AI Jobs</a>
2081        <a href="https://www.youtube.com/@WhatsAI">What's AI YouTube</a>
2082        <a href="/contribute/">Become a writer</a>
2083      </div>
2084      <div class="grp">
2085        <h5>Company</h5>
2086        <a href="/academy/about/">About us</a>
2087        <a href="/valuecreation/careers/">Careers</a>
2088        <a href="https://discord.gg/learnaitogether">Discord community</a>
2089      </div>
2090      <div class="grp">
2091        <h5>Students</h5>
2092        <a href="https://academy.towardsai.net/enrollments">My courses</a>
2093        <a href="https://academy.towardsai.net/users/sign_in">Sign in</a>
2094      </div>
2095    </div>
2096    <div class="newsband">
2097      <div>
2098        <h4>Get the <em>Towards AI</em> newsletter.</h4>
2099        <p>200,000+ AI practitioners, including Jensen Huang. Weekly. Practical. Curated by humans who build.</p>
2100      </div>
2101      <a class="sub-btn" href="https://newsletter.towardsai.net/">Subscribe <span aria-hidden="true">&rarr;</span></a>
2102    </div>
2103    <div class="legal">
2104      <span>&copy; 2026 Towards AI, Inc. All rights reserved.</span>
2105      <span><a href="/privacy" style="color:inherit;text-decoration:none">Privacy</a> &nbsp;&middot;&nbsp; <a href="/terms/" style="color:inherit;text-decoration:none">Terms</a> &nbsp;&middot;&nbsp; <a href="/academy/contact/" style="color:inherit;text-decoration:none">Contact</a></span>
2106    </div>
2107  </div>
2108</footer>
2109
2110<script>
2111
2112// Mobile menu
2113const burger = document.querySelector('.ta-nav-burger');
2114const menu = document.querySelector('.ta-mobile-menu');
2115if (burger && menu) {
2116  burger.addEventListener('click', () => { menu.classList.add('open'); document.body.style.overflow = 'hidden'; });
2117  menu.querySelectorAll('a, .m-close').forEach(el => el.addEventListener('click', () => {
2118    menu.classList.remove('open'); document.body.style.overflow = '';
2119  }));
2120}
2121// Click-to-load video embeds (loads the player only on demand)
2122document.querySelectorAll('.ta-video[data-embed]').forEach(v => {
2123  v.addEventListener('click', () => {
2124    if (v.dataset.loaded) return;
2125    v.dataset.loaded = '1';
2126    const f = document.createElement('iframe');
2127    f.src = v.dataset.embed;
2128    f.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture';
2129    f.allowFullscreen = true;
2130    f.title = v.dataset.title || 'Intro video';
2131    v.append(f);
2132  }, { once: true });
2133});
2134// Expandable review cards
2135document.querySelectorAll('.ta-review .more').forEach(btn => {
2136  btn.addEventListener('click', () => {
2137    const txt = btn.closest('.ta-review').querySelector('.txt');
2138    const open = txt.classList.toggle('clamped');
2139    btn.textContent = open ? 'Read more' : 'Read less';
2140  });
2141});
2142// Mentorship billing toggle: yearly is the default state baked into the HTML;
2143// switching plans rewrites every .js-buy checkout CTA plus the hero card price.
2144const mentToggles = document.querySelectorAll('.ta-ment-toggle button');
2145if (mentToggles.length) {
2146  const mentPlans = {
2147    yearly: {
2148      href: 'https://academy.towardsai.net/cart/add_product/3625904?price_id=4748108',
2149      amt: '$899', per: '/year', was: '$1,188', label: '$899/year',
2150      equiv: 'About $75 a month, billed once a year.',
2151      note: '30-day money-back guarantee',
2152      alt: 'Or $99/month, cancel anytime',
2153    },
2154    monthly: {
2155      href: 'https://academy.towardsai.net/cart/add_product/3625904?price_id=4565072',
2156      amt: '$99', per: '/month', was: '', label: '$99/month',
2157      equiv: 'Yearly saves 24%: $899, about $75 a month.',
2158      note: 'Cancel anytime',
2159      alt: 'Or $899/year, save 24%',
2160    },
2161  };
2162  const mentSet = (sel, fn) => document.querySelectorAll(sel).forEach(fn);
2163  mentToggles.forEach(btn => btn.addEventListener('click', () => {
2164    const p = mentPlans[btn.dataset.plan];
2165    const o = mentPlans[btn.dataset.plan === 'yearly' ? 'monthly' : 'yearly'];
2166    mentToggles.forEach(b => {
2167      const on = b.dataset.plan === btn.dataset.plan;
2168      b.classList.toggle('on', on);
2169      b.setAttribute('aria-pressed', String(on));
2170    });
2171    mentSet('.js-buy', a => { a.href = p.href; });
2172    mentSet('.js-buy-price', s => { s.textContent = p.label; });
2173    mentSet('.js-buy-note', s => { s.textContent = p.note; });
2174    mentSet('.js-alt', a => { a.href = o.href; });
2175    mentSet('.js-alt-label', s => { s.textContent = p.alt; });
2176    mentSet('.js-amt', s => { s.textContent = p.amt; });
2177    mentSet('.js-per', s => { s.textContent = p.per; });
2178    mentSet('.js-equiv', s => { s.textContent = p.equiv; });
2179    mentSet('.js-was', s => { s.textContent = p.was; s.style.display = p.was ? '' : 'none'; });
2180  }));
2181}
2182// Course price-card payment toggle: swaps every price card on the page between
2183// its one-time and 3-month-plan state. Elements tagged data-pay="once|plan" show
2184// for that state only; hero and syllabus cards stay in sync.
2185const payToggles = document.querySelectorAll('.ta-pay-toggle');
2186if (payToggles.length) {
2187  const setPay = sel => {
2188    payToggles.forEach(tg => tg.querySelectorAll('button').forEach(b => {
2189      const on = b.dataset.pay === sel;
2190      b.classList.toggle('on', on);
2191      b.setAttribute('aria-pressed', String(on));
2192    }));
2193    document.querySelectorAll('.ta-price-card [data-pay]').forEach(el => {
2194      if (el.closest('.ta-pay-toggle')) return;   // the toggles' own buttons stay visible
2195      el.hidden = el.dataset.pay !== sel;
2196    });
2197  };
2198  payToggles.forEach(tg => tg.querySelectorAll('button').forEach(btn =>
2199    btn.addEventListener('click', () => setPay(btn.dataset.pay))));
2200}
2201// Checkout click tracking: fires when a visitor heads to Thinkific checkout
2202document.addEventListener('click', (e) => {
2203  const a = e.target.closest('a[href*="/cart/add_product/"], a[href*="/enroll/"]');
2204  if (!a) return;
2205  try {
2206    const m = a.href.match(/(?:add_product|enroll)\/(\d+)/);
2207    const pid = m ? m[1] : undefined;
2208    if (window.fbq) fbq('track', 'InitiateCheckout', pid ? { content_ids: [pid], content_type: 'product' } : {});
2209    window.dataLayer = window.dataLayer || [];
2210    window.dataLayer.push({ event: 'begin_checkout', ecommerce: { items: pid ? [{ item_id: pid }] : [] } });
2211  } catch (_) {}
2212});
2213// Scroll reveal: sections' direct content blocks fade up as they enter view
2214if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
2215  const targets = document.querySelectorAll(
2216    '.ta-cell, .ta-build, .ta-step, .ta-fit, .ta-review, .ta-quote, .ta-route, .ta-evi, ' +
2217    '.ta-section-head, .ta-path, .ta-offer, .ta-founder, .ta-glance, .ta-price-card, .ta-buildrow .media, ' +
2218    '.ta-ment-thread, .ta-ment-pathways, .ta-ment-samples, .ta-prod-feature, ' +
2219    '.ta-ment-vswrap, .ta-ment-faces');
2220  const io = new IntersectionObserver((entries) => {
2221    entries.forEach((en) => { if (en.isIntersecting) { en.target.classList.add('in'); io.unobserve(en.target); } });
2222  }, { rootMargin: '0px 0px -8% 0px' });
2223  targets.forEach((el, i) => {
2224    el.classList.add('ta-reveal');
2225    el.style.transitionDelay = ((i % 3) * 70) + 'ms';
2226    io.observe(el);
2227  });
2228}
2229// Nav link flip-on-hover (duplicate label slides up, original site's signature)
2230document.querySelectorAll('.ta-nav-link').forEach((a) => {
2231  const label = a.textContent.trim();
2232  a.innerHTML = '<span class="ta-flip"><span data-t="' + label.replace(/"/g, '&quot;') + '">' + label + '</span></span>';
2233});
2234// Enterprise/contact scoping form (Formspree) + lead tracking
2235const sform = document.querySelector('form[data-scoping]');
2236if (sform) {
2237  sform.addEventListener('submit', (e) => {
2238    e.preventDefault();
2239    const status = document.getElementById('form-status');
2240    const btn = sform.querySelector('button[type="submit"]');
2241    btn.disabled = true;
2242    status.textContent = 'Sending…';
2243    fetch(sform.action, { method: 'POST', body: new FormData(sform), headers: { Accept: 'application/json' } })
2244      .then((r) => {
2245        if (!r.ok) throw new Error('send failed');
2246        sform.reset();
2247        status.textContent = sform.dataset.thanks || 'Thanks. We reply within one business day.';
2248        if (window.fbq) fbq('track', 'Lead');
2249        window.dataLayer = window.dataLayer || [];
2250        window.dataLayer.push({ event: 'generate_lead' });
2251      })
2252      .catch(() => {
2253        status.textContent = 'Something went wrong. Please try again in a moment.';
2254      })
2255      .finally(() => { btn.disabled = false; });
2256  });
2257}
2258// Affiliate referral signup (Kit form, HTML embed) + lead tracking. Kit's endpoint answers
2259// status success | quarantined (bot guard: finish at d.url) | failed (d.errors).
2260const kform = document.querySelector('form[data-kit]');
2261if (kform) {
2262  kform.addEventListener('submit', (e) => {
2263    e.preventDefault();
2264    const status = document.getElementById('kit-status');
2265    const btn = kform.querySelector('button[type="submit"]');
2266    btn.disabled = true;
2267    status.textContent = 'Signing you up…';
2268    fetch(kform.action, { method: 'POST', body: new FormData(kform), headers: { Accept: 'application/json' } })
2269      .then((r) => { if (!r.ok) throw new Error('subscribe failed'); return r.json(); })
2270      .then((d) => {
2271        if (d.status === 'failed') {
2272          status.textContent = (d.errors && d.errors[0]) || 'Something went wrong. Please try again in a moment.';
2273          return;
2274        }
2275        if (window.fbq) fbq('track', 'Lead');
2276        window.dataLayer = window.dataLayer || [];
2277        window.dataLayer.push({ event: 'generate_lead' });
2278        if (d.status === 'quarantined' && d.url) { window.location.href = d.url; return; }
2279        kform.reset();
2280        status.textContent = "You're signed up. The welcome email is on its way; check spam if it doesn't arrive.";
2281      })
2282      .catch(() => {
2283        status.textContent = 'Something went wrong. Please try again in a moment.';
2284      })
2285      .finally(() => { btn.disabled = false; });
2286  });
2287}
2288
2289</script>
vendor: 1 bytes, line 2289
2289
2290<script src="https://towardsai-tutors-tai-helper.hf.space/helper-widget.js" data-api-base="https://towardsai-tutors-tai-helper.hf.space" defer></script>
2290
2291</body>
2292</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.