1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"><meta name="theme-color" content="#1F69FF"><link rel="icon" type="image/x-icon" href="/favicon.ico"><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"><link rel="icon" type="image/png" sizes="48x48" href="/favicon/favicon-48x48.png"><link rel="icon" type="image/png" sizes="96x96" href="/favicon/favicon-96x96.png"><link rel="icon" type="image/png" sizes="128x128" href="/favicon/favicon-128x128.png"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="manifest" href="/site.webmanifest"><meta name="msapplication-TileImage" content="/favicon/mstile-150x150.png"><meta name="msapplication-TileColor" content="#1F69FF"><link rel="dns-prefetch" href="https://app.dataquest.io"><link rel="dns-prefetch" href="https://www.googletagmanager.com"><link rel="dns-prefetch" href="https://cdn-astro.dataquest.io"><link rel="dns-prefetch" href="https://static.cloudflareinsights.com"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&family=Spectral+SC:wght@600&display=swap" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&family=Spectral+SC:wght@600&display=swap"></noscript><title>Dataquest: Data Science Courses: Learn 10x Faster</title><meta name="description" content="98% of learners recommend Dataquest for learning Python, R programming, SQL, data engineering, data science, and more."><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><link rel="canonical" href="https://www.dataquest.io/"><!-- Open Graph --><meta property="og:locale" content="en_US"><meta property="og:site_name" content="Dataquest"><meta property="og:title" content="Dataquest: Data Science Courses: Learn 10x Faster"><meta property="og:description" content="98% of learners recommend Dataquest for learning Python, R programming, SQL, data engineering, data science, and more."><meta property="og:url" content="https://www.dataquest.io/"><meta property="og:type" content="website"><meta property="og:image" content="/wp-content/uploads/2023/03/dataquest.jpeg"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="Dataquest: Data Science Courses: Learn 10x Faster"><!-- Twitter --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:site" content="@dataquestio"><meta name="twitter:title" content="Dataquest: Data Science Courses: Learn 10x Faster"><meta name="twitter:description" content="98% of learners recommend Dataquest for learning Python, R programming, SQL, data engineering, data science, and more."><meta name="twitter:image" content="/wp-content/uploads/2023/03/dataquest.jpeg">
1<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.dataquest.io/#organization","name":"Dataquest","url":"https://www.dataquest.io","logo":{"@type":"ImageObject","@id":"https://www.dataquest.io/#logo","url":"https://www.dataquest.io/dq-logo.svg","contentUrl":"https://www.dataquest.io/dq-logo.svg","width":600,"height":130,"caption":"Dataquest"},"sameAs":["https://www.facebook.com/dataquestio","https://x.com/dataquestio","https://www.linkedin.com/school/dataquest-io/mycompany/","https://www.youtube.com/@dataquestio"]},{"@type":"WebSite","@id":"https://www.dataquest.io/#website","url":"https://www.dataquest.io","name":"Dataquest","description":"Learn data science, data analytics, and data engineering â interactive lessons, real datasets, and projects.","publisher":{"@id":"https://www.dataquest.io/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.dataquest.io/?s={search_term_string}"},"query-input":"required name=search_term_string"}]},{"@type":"WebPage","@id":"https://www.dataquest.io/#webpage","url":"https://www.dataquest.io/","name":"Dataquest: Data Science Courses: Learn 10x Faster","isPartOf":{"@id":"https://www.dataquest.io/#website"},"inLanguage":"en-US","description":"98% of learners recommend Dataquest for learning Python, R programming, SQL, data engineering, data science, and more.","primaryImageOfPage":{"@type":"ImageObject","url":"/wp-content/uploads/2023/03/dataquest.jpeg"}}]}</script>
vendor: 63 bytes, line 1
1<script async src="https://www.googletagmanager.com/gtag/js?id=
1G-YXMFSKC6DP
vendor: 11 bytes, line 1
1"></script>
1<script> 2
vendor: 145 bytes, lines 2-5
2window.dataLayer = window.dataLayer || []; 3 function gtag(){dataLayer.push(arguments);} 4 gtag('js', new Date()); 5 gtag('config', '
5G-YXMFSKC6DP
vendor: 8 bytes, lines 5-6
5'); 6
6</script>
6<script> 7 (function () { 8 var domain = '.dataquest.io'; 9 var days = 90; 10 function getParam(key) { 11 var m = new RegExp(key + '=([^&]*)', 'i').exec(window.location.search); 12 return m ? decodeURIComponent(m[1]) : ''; 13 } 14 function hasCookie(name) { 15 return document.cookie.indexOf(name + '=') !== -1; 16 } 17 function setCookie(name, value) { 18 var d = new Date(); 19 d.setTime(d.getTime() + days * 24 * 60 * 60 * 1000); 20 document.cookie = name + '=' + value + '; expires=' + d.toUTCString() + '; domain=' + domain + '; path=/'; 21 } 22 ['utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term'].forEach(function (key) { 23 var v = getParam(key); 24 if (v) setCookie('dataquest-cac-' + key.replace('_', '-'), v); 25 }); 26 if (!hasCookie('dataquest-cac-landing-page')) { 27 setCookie('dataquest-cac-landing-page', window.location.pathname); 28 } 29 var ref = document.referrer; 30 if (ref) { 31 var a = document.createElement('a'); 32 a.href = ref; 33 if (a.hostname.indexOf('dataquest.io') === -1 && !hasCookie('dataquest-cac-referer-url')) { 34 setCookie('dataquest-cac-referer-url', ref); 35 } 36 } 37 setCookie('dataquest-cac-landing-page-last-touch', window.location.pathname); 38 })(); 39 </script>
39<script> 40 window.dataLayer = window.dataLayer || []; 41 (function () { 42 var loaded = false; 43 function loadGTM() { 44 if (loaded) return; 45 loaded = true; 46 window.dataLayer.push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); 47 var f = document.getElementsByTagName('script')[0]; 48 var j = document.createElement('script'); 49 j.async = true; 50 j.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-K7XQVQR'; 51 f.parentNode.insertBefore(j, f); 52 } 53 ['mousedown', 'mousemove', 'keydown', 'touchstart', 'scroll', 'wheel'].forEach(function (ev) { 54 document.addEventListener(ev, loadGTM, { once: true, passive: true }); 55 }); 56 // Fires when a background tab is focused â visibilityState guard 57 // avoids also firing when the user tabs *away* from the page. 58 document.addEventListener('visibilitychange', function () { 59 if (document.visibilityState === 'visible') loadGTM(); 60 }, { passive: true }); 61 })(); 62 </script>
62<script id="refersion-tracking">(function(d) {if(localStorage.getItem("rfsn_aid")&&localStorage.getItem("rfsn_cs")&&localStorage.getItem("rfsn_cs")!=="b5b961"&&localStorage.getItem("rfsn_aid")!=="5396695"){function setToken(){var rfsnAffiliateToken=localStorage.getItem("rfsn_aid")+"."+localStorage.getItem("rfsn_cs");var links=Array.from(document.querySelectorAll("a")).filter(el=>el.href.indexOf("/payment")!==-1);for(var i=0;i<links.length;i++){var link=links[i];if(link.href.indexOf("app.dataquest")!==-1){var linkDelimiter=link.href.indexOf("?")===-1?"?":"&";link.href=link.href+linkDelimiter+"rfsn="+rfsnAffiliateToken}}}setToken();d.addEventListener("DOMContentLoaded",setToken);}})(document);</script>
62<script> 63 document.addEventListener('DOMContentLoaded', function () { 64 if (!document.querySelector('[id^=DataquestSignupForm], [id^=DataquestLoginForm]')) return; 65 var loaded = false; 66 function loadAuth() { 67 if (loaded) return; 68 loaded = true; 69 var s = document.createElement('script'); 70 s.src = 'https://dsserver-prod-resources-1.s3.amazonaws.com/static/js/dq-auth.min.js'; 71 s.async = false; 72 s.onload = function () { 73 if (document.readyState === 'complete') { 74 window.dispatchEvent(new Event('load')); 75 } 76 }; 77 document.head.appendChild(s); 78 } 79 ['mousedown', 'mousemove', 'keydown', 'touchstart', 'scroll', 'wheel', 'focusin'].forEach(function (ev) { 80 document.addEventListener(ev, loadAuth, { once: true, passive: true }); 81 }); 82 }); 83 </script>
83<script> 84 (function () { 85 try { 86 var qs = new URLSearchParams(location.search).get('logged_in'); 87 if (qs === '1') localStorage.setItem('dq_simulate_logged_in', '1'); 88 if (qs === '0') localStorage.removeItem('dq_simulate_logged_in'); 89 var simulated = localStorage.getItem('dq_simulate_logged_in') === '1'; 90 var hasCookie = document.cookie.split(';').some(function (c) { 91 return c.trim().indexOf('dq-shared-auth=') === 0; 92 }); 93 if (simulated || hasCookie) { 94 document.documentElement.classList.add('dq-logged-in'); 95 } 96 } catch (e) { /* cookies / storage disabled â default to logged-out */ } 97 })(); 98 </script>
98<style>@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Source Sans Pro", "SSP Local", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:Inconsolata, Monaco, Consolas, "Courier New", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-emerald-700:oklch(50.8% .118 165.612);--color-rose-700:oklch(51.4% .222 16.935);--color-gray-50:#f7f8ff;--color-gray-100:#d9dee5;--color-gray-400:#7d8fa8;--color-gray-600:#3f4c64;--color-gray-800:#232a3d;--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand-blue:#1f69ff;--color-brand-blue-hover:#4987ff;--color-brand-green-cta:#24a871;--color-brand-pink:#9b51e0;--color-brand-pink-dark:#7848af;--color-brand-ink:#1e1e1e;--color-brand-ink-deep:#000;--color-brand-ink-soft:#141926;--color-brand-surface:#f7f8fa;--color-brand-surface-2:#f8f9fa;--color-brand-rule:#d9dee5;--color-brand-rule-soft:#e8ebf0;--color-brand-warn:#f7e08e;--color-red:#c74e4e;--text-fs-56:56px;--text-fs-56--line-height:62px;--text-fs-48:48px;--text-fs-48--line-height:58px;--text-fs-40:40px;--text-fs-40--line-height:54px;--text-fs-34:34px;--text-fs-34--line-height:42px;--text-fs-28:28px;--text-fs-28--line-height:34px;--text-fs-22:22px;--text-fs-22--line-height:28px;--text-fs-20:20px;--text-fs-20--line-height:28px;--text-fs-18:18px;--text-fs-18--line-height:26px;--text-fs-16:16px;--text-fs-16--line-height:22px;--text-fs-14:14px;--text-fs-14--line-height:20px;--text-fs-12:12px;--text-fs-12--line-height:20px;--container-container:1296px;--spacing-section:48px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}
98::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before,::backdrop{border-color:var(--color-brand-rule,currentColor)}::file-selector-button{border-color:var(--color-brand-rule,currentColor)}html{scrollbar-gutter:stable}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.-top-\[50px\]{top:-50px}.-top-\[60px\]{top:-60px}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-5{top:calc(var(--spacing) * 5)}.top-10{top:calc(var(--spacing) * 10)}.top-\[10px\]{top:10px}.top-\[40\%\]{top:40%}.top-\[66px\]{top:66px}.top-\[70px\]{top:70px}.top-\[90px\]{top:90px}.top-full{top:100%}.-right-2{right:calc(var(--spacing) * -2)}.-right-\[30px\]{right:-30px}.-right-\[40px\]{right:-40px}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-\[20px\]{right:20px}.-bottom-2{bottom:calc(var(--spacing) * -2)}.-bottom-\[40px\]{bottom:-40px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-\[16px\]{bottom:16px}.-left-\[30px\]{left:-30px}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing) * 4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[-1\]{z-index:-1}.z-\[1\]{z-index:1}.z-\[3\]{z-index:3}.z-\[4\]{z-index:4}.z-\[60\]{z-index:60}.z-\[200\]{z-index:200}.col-7{grid-column:7}.col-10{grid-column:10}.col-30{grid-column:30}.col-67{grid-column:67}.col-70{grid-column:70}.col-72{grid-column:72}.col-90{grid-column:90}.col-span-2{grid-column:span 2/span 2}.row-4{grid-row:4}.float-left{float:left}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-m-3{margin:calc(var(--spacing) * -3)}.m-0{margin:calc(var(--spacing) * 0)}.m-1{margin:calc(var(--spacing) * 1)}.m-3{margin:calc(var(--spacing) * 3)}.m-auto{margin:auto}.-mx-3{margin-inline:calc(var(--spacing) * -3)}.mx-auto{margin-inline:auto}.my-12{margin-block:calc(var(--spacing) * 12)}.my-\[15px\]{margin-block:15px}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>
98li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"â""â""â""â";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>
98li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not
98(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-4\.5{margin-top:calc(var(--spacing) * 4.5)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-13{margin-top:calc(var(--spacing) * 13)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-\[1px\]{margin-top:1px}.mt-\[2px\]{margin-top:2px}.mt-\[9px\]{margin-top:9px}.mt-\[18px\]{margin-top:18px}.mt-\[30px\]{margin-top:30px}.mt-\[50px\]{margin-top:50px}.mt-\[70px\]{margin-top:70px}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-3\.5{margin-bottom:calc(var(--spacing) * 3.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-4\.5{margin-bottom:calc(var(--spacing) * 4.5)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-5\.5{margin-bottom:calc(var(--spacing) * 5.5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-7\.5{margin-bottom:calc(var(--spacing) * 7.5)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-9{margin-bottom:calc(var(--spacing) * 9)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.mb-11{margin-bottom:calc(var(--spacing) * 11)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-13{margin-bottom:calc(var(--spacing) * 13)}.mb-\[2px\]{margin-bottom:2px}.mb-\[3px\]{margin-bottom:3px}.mb-\[5px\]{margin-bottom:5px}.mb-\[6px\]{margin-bottom:6px}.mb-\[10px\]{margin-bottom:10px}.mb-\[12px\]{margin-bottom:12px}.mb-\[14px\]{margin-bottom:14px}.mb-\[15px\]{margin-bottom:15px}.mb-\[18px\]{margin-bottom:18px}.mb-\[22px\]{margin-bottom:22px}.mb-\[45px\]{margin-bottom:45px}.mb-\[48px\]{margin-bottom:48px}.mb-\[50px\]{margin-bottom:50px}.mb-\[72px\]{margin-bottom:72px}.-ml-px{margin-left:-1px}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.box-border{box-sizing:border-box}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!grid{display:grid!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.table\!{display:table!important}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-1{width:calc(var(--spacing) * 1);height:calc(var(--spacing) * 1)}.size-full{width:100%;height:100%}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-40{height:calc(var(--spacing) * 40)}.h-84{height:calc(var(--spacing) * 84)}.h-120{height:calc(var(--spacing) * 120)}.h-\[3px\]{height:3px}.h-\[22px\]{height:22px}
98.h-\[26px\]{height:26px}.h-\[35px\]{height:35px}.h-\[38px\]{height:38px}.h-\[42px\]{height:42px}.h-\[44px\]{height:44px}.h-\[46px\]{height:46px}.h-\[48px\]{height:48px}.h-\[50px\]{height:50px}.h-\[55px\]{height:55px}.h-\[66px\]{height:66px}.h-\[80px\]{height:80px}.h-\[84px\]{height:84px}.h-\[88px\]{height:88px}.h-\[100px\]{height:100px}.h-\[110px\]{height:110px}.h-\[112px\]{height:112px}.h-\[120px\]{height:120px}.h-\[140px\]{height:140px}.h-\[160px\]{height:160px}.h-\[200px\]{height:200px}.h-\[220px\]{height:220px}.h-\[240px\]{height:240px}.h-\[280px\]{height:280px}.h-\[300px\]{height:300px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[28px\]{max-height:28px}.max-h-\[36px\]{max-height:36px}.max-h-\[42px\]{max-height:42px}.max-h-\[48px\]{max-height:48px}.max-h-\[60px\]{max-height:60px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[90vh\]{max-height:90vh}.min-h-\[2\.4em\]{min-height:2.4em}.min-h-\[20px\]{min-height:20px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[50px\]{min-height:50px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-20{width:calc(var(--spacing) * 20)}.w-100{width:calc(var(--spacing) * 100)}.w-\[22px\]{width:22px}.w-\[34\%\]{width:34%}.w-\[45px\]{width:45px}.w-\[46px\]{width:46px}.w-\[55px\]{width:55px}.w-\[60px\]{width:60px}.w-\[84px\]{width:84px}.w-\[90px\]{width:90px}.w-\[112px\]{width:112px}.w-\[120px\]{width:120px}.w-\[140px\]{width:140px}.w-\[160px\]{width:160px}.w-\[200px\]{width:200px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-\[350px\]{width:350px}.w-\[calc\(33\.333\%-24px\)\]{width:calc(33.333% - 24px)}.w-\[calc\(100\%-50px\)\]{width:calc(100% - 50px)}.w-\[calc\(100vw-1\.5rem\)\]{width:calc(100vw - 1.5rem)}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[26em\]{max-width:26em}.max-w-\[34em\]{max-width:34em}.max-w-\[38em\]{max-width:38em}.max-w-\[42em\]{max-width:42em}.max-w-\[44em\]{max-width:44em}.max-w-\[46em\]{max-width:46em}.max-w-\[60ch\]{max-width:60ch}.max-w-\[180px\]{max-width:180px}.max-w-\[225px\]{max-width:225px}.max-w-\[260px\]{max-width:260px}.max-w-\[320px\]{max-width:320px}.max-w-\[350px\]{max-width:350px}.max-w-\[387px\]{max-width:387px}.max-w-\[396px\]{max-width:396px}.max-w-\[400px\]{max-width:400px}.max-w-\[440px\]{max-width:440px}.max-w-\[454px\]{max-width:454px}.max-w-\[480px\]{max-width:480px}.max-w-\[500px\]{max-width:500px}.max-w-\[560px\]{max-width:560px}.max-w-\[620px\]{max-width:620px}.max-w-\[640px\]{max-width:640px}.max-w-\[680px\]{max-width:680px}.max-w-\[720px\]{max-width:720px}.max-w-\[760px\]{max-width:760px}.max-w-\[810px\]{max-width:810px}.max-w-\[820px\]{max-width:820px}.max-w-\[840px\]{max-width:840px}.max-w-\[960px\]{max-width:960px}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1080px\]{max-width:1080px}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1180px\]{max-width:1180px}.max-w-container{max-width:var(--container-container)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[130px\]{min-width:130px}.min-w-\[170px\]{min-width:170px}
98.min-w-\[200px\]{min-width:200px}.min-w-\[243px\]{min-width:243px}.min-w-\[310px\]{min-width:310px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.grow\!{flex-grow:1!important}.basis-\[calc\(50\%-12px\)\]{flex-basis:calc(50% - 12px)}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-\[8deg\]{rotate:-8deg}.rotate-\[12deg\]{rotate:12deg}.rotate-\[15deg\]{rotate:15deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{appearance:none}.columns-1{columns:1}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(100px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(180px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(220px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(240px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(240px\,290px\)\)\]{grid-template-columns:repeat(auto-fit,minmax(240px,290px))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(250px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(280px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(300px\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(min\(100\%\,380px\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(min\(100\%\,400px\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}.\[grid-template-columns\:repeat\(auto-fit\,minmax\(min\(100\%\,420px\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[54px_minmax\(0\,1fr\)\]{grid-template-columns:54px minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-11{gap:calc(var(--spacing) * 11)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}.gap-\[6px\]{gap:6px}.gap-\[7px\]{gap:7px}.gap-\[10px\]{gap:10px}.gap-\[18px\]{gap:18px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-14>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 14) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 14) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-16>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 16) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 16) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-\[58px\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(58px * var(--tw-space-y-reverse));margin-block-end:calc(58px * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3\.5{column-gap:calc(var(--spacing) * 3.5)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-x-9{column-gap:calc(var(--spacing) * 9)}.gap-x-10{column-gap:calc(var(--spacing) * 10)}.gap-x-12{column-gap:calc(var(--spacing) * 12)}.gap-x-14{column-gap:calc(var(--spacing) * 14)}
98.gap-x-\[2\%\]{column-gap:2%}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.gap-y-10{row-gap:calc(var(--spacing) * 10)}.gap-y-12{row-gap:calc(var(--spacing) * 12)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-brand-rule>:not(:last-child)){border-color:var(--color-brand-rule)}:where(.divide-brand-rule\/60>:not(:last-child)){border-color:#d9dee599}@supports (color:color-mix(in lab,red,red)){:where(.divide-brand-rule\/60>:not(:last-child)){border-color:color-mix(in oklab,var(--color-brand-rule) 60%,transparent)}}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-\[3px\]{border-top-style:var(--tw-border-style);border-top-width:3px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-none{--tw-border-style:none;border-style:none}.border-\[\#2C3346\]{border-color:#2c3346}.border-\[\#2c354b\]{border-color:#2c354b}.border-\[\#3A4256\]{border-color:#3a4256}.border-\[\#333C52\]{border-color:#333c52}.border-\[\#FF9BA8\]{border-color:#ff9ba8}.border-black\/10{border-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.border-black\/10{border-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.border-brand-blue{border-color:var(--color-brand-blue)}.border-brand-ink\/40{border-color:#1e1e1e66}@supports (color:color-mix(in lab,red,red)){.border-brand-ink\/40{border-color:color-mix(in oklab,var(--color-brand-ink) 40%,transparent)}}.border-brand-pink{border-color:var(--color-brand-pink)}.border-brand-pink\/20{border-color:#9b51e033}@supports (color:color-mix(in lab,red,red)){.border-brand-pink\/20{border-color:color-mix(in oklab,var(--color-brand-pink) 20%,transparent)}}.border-brand-rule{border-color:var(--color-brand-rule)}.border-brand-rule-soft{border-color:var(--color-brand-rule-soft)}.border-brand-rule\/60{border-color:#d9dee599}@supports (color:color-mix(in lab,red,red)){.border-brand-rule\/60{border-color:color-mix(in oklab,var(--color-brand-rule) 60%,transparent)}}.border-brand-rule\/70{border-color:#d9dee5b3}@supports (color:color-mix(in lab,red,red)){.border-brand-rule\/70{border-color:color-mix(in oklab,var(--color-brand-rule) 70%,transparent)}}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-600{border-color:var(--color-gray-600)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.border-white\/15{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.border-white\/\[\.04\]{border-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.border-white\/\[\.04\]{border-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.border-white\/\[\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\/\[\.06\]{border-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.border-white\/\[\.07\]{border-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.border-white\/\[\.07\]{border-color:color-mix(in oklab,var(--color-white) 7%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-\[\#0d0c16\]{background-color:#0d0c16}.bg-\[\#0f1422\]{background-color:#0f1422}.bg-\[\#000\]{background-color:#000}.bg-\[\#2C3346\]{background-color:#2c3346}.bg-\[\#161b2c\]{background-color:#161b2c}.bg-\[\#12111f\]{background-color:#12111f}.bg-\[\#ced4da\]{background-color:#ced4da}.bg-black{background-color:var(--color-black)}.bg-black\/0{background-color:#0000}@supports (color:color-mix(in lab,red,red)){.bg-black\/0{background-color:color-mix(in oklab,var(--color-black) 0%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-brand-blue{background-color:var(--color-brand-blue)}.bg-brand-ink{background-color:var(--color-brand-ink)}.bg-brand-ink-deep{background-color:var(--color-brand-ink-deep)}.bg-brand-ink-soft{background-color:var(--color-brand-ink-soft)}.bg-brand-pink{background-color:var(--color-brand-pink)}.bg-brand-pink\/5{background-color:#9b51e00d}@supports (color:color-mix(in lab,red,red)){.bg-brand-pink\/5{background-color:color-mix(in oklab,var(--color-brand-pink) 5%,transparent)}}.bg-brand-pink\/10{background-color:#9b51e01a}@supports (color:color-mix(in lab,red,red)){.bg-brand-pink\/10{background-color:color-mix(in oklab,var(--color-brand-pink) 10%,transparent)}}.bg-brand-pink\/15{background-color:#9b51e026}@supports (color:color-mix(in lab,red,red)){.bg-brand-pink\/15{background-color:color-mix(in oklab,var(--color-brand-pink) 15%,transparent)}}.bg-brand-pink\/20{background-color:#9b51e033}@supports (color:color-mix(in lab,red,red)){.bg-brand-pink\/20{background-color:color-mix(in oklab,var(--color-brand-pink) 20%,transparent)}}.bg-brand-pink\/70{background-color:#9b51e0b3}@supports (color:color-mix(in lab,red,red)){.bg-brand-pink\/70{background-color:color-mix(in oklab,var(--color-brand-pink) 70%,transparent)}}.bg-brand-rule{background-color:var(--color-brand-rule)}.bg-brand-rule-soft{background-color:var(--color-brand-rule-soft)}.bg-brand-surface{background-color:var(--color-brand-surface)}.bg-brand-surface-2{background-color:var(--color-brand-surface-2)}.bg-brand-warn{background-color:var(--color-brand-warn)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/\[\.02\]{background-color:#ffffff05}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[\.02\]{background-color:color-mix(in oklab,var(--color-white) 2%,transparent)}}.bg-white\/\[\.015\]{background-color:#ffffff04}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[\.015\]{background-color:color-mix(in oklab,var(--color-white) 1.5%,transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-no-repeat{background-repeat:no-repeat}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-center{object-position:center}.object-top{object-position:top}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-9{padding:calc(var(--spacing) * 9)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.px-9{padding-inline:calc(var(--spacing) * 9)}.px-10{padding-inline:calc(var(--spacing) * 10)}.px-\[15px\]{padding-inline:15px}.px-\[22px\]{padding-inline:22px}.px-\[24px\]{padding-inline:24px}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-4\.5{padding-block:calc(var(--spacing) * 4.5)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-5\.5{padding-block:calc(var(--spacing) * 5.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-9{padding-block:calc(var(--spacing) * 9)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-\[8px\]{padding-block:8px}.py-\[10px\]{padding-block:10px}.py-\[11px\]{padding-block:11px}.py-\[24px\]{padding-block:24px}
98.py-\[45px\]{padding-block:45px}.py-\[48px\]{padding-block:48px}.py-\[50px\]{padding-block:50px}.py-\[56px\]{padding-block:56px}.py-\[64px\]{padding-block:64px}.py-\[76px\]{padding-block:76px}.py-\[80px\]{padding-block:80px}.py-\[88px\]{padding-block:88px}.py-\[92px\]{padding-block:92px}.py-\[100px\]{padding-block:100px}.py-px{padding-block:1px}.py-section{padding-block:var(--spacing-section)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-5\.5{padding-top:calc(var(--spacing) * 5.5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-9\.5{padding-top:calc(var(--spacing) * 9.5)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pt-\[13px\]{padding-top:13px}.pt-\[25px\]{padding-top:25px}.pt-\[26px\]{padding-top:26px}.pt-\[48px\]{padding-top:48px}.pt-\[95px\]{padding-top:95px}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pr-16{padding-right:calc(var(--spacing) * 16)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-5\.5{padding-bottom:calc(var(--spacing) * 5.5)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-7{padding-bottom:calc(var(--spacing) * 7)}.pb-7\.5{padding-bottom:calc(var(--spacing) * 7.5)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-\[2px\]{padding-bottom:2px}.pb-\[23px\]{padding-bottom:23px}.pb-\[32px\]{padding-bottom:32px}.pb-\[58px\]{padding-bottom:58px}.pb-\[64px\]{padding-bottom:64px}.pb-\[88px\]{padding-bottom:88px}.pb-\[96px\]{padding-bottom:96px}.pb-\[132px\]{padding-bottom:132px}.pb-section{padding-bottom:var(--spacing-section)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-5\.5{padding-left:calc(var(--spacing) * 5.5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-11{padding-left:calc(var(--spacing) * 11)}.pl-\[10px\]{padding-left:10px}.pl-\[43px\]{padding-left:43px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-fs-12{font-size:var(--text-fs-12);line-height:var(--tw-leading,var(--text-fs-12--line-height))}.text-fs-14{font-size:var(--text-fs-14);line-height:var(--tw-leading,var(--text-fs-14--line-height))}.text-fs-16{font-size:var(--text-fs-16);line-height:var(--tw-leading,var(--text-fs-16--line-height))}.text-fs-18{font-size:var(--text-fs-18);line-height:var(--tw-leading,var(--text-fs-18--line-height))}.text-fs-20{font-size:var(--text-fs-20);line-height:var(--tw-leading,var(--text-fs-20--line-height))}.text-fs-22{font-size:var(--text-fs-22);line-height:var(--tw-leading,var(--text-fs-22--line-height))}.text-fs-28{font-size:var(--text-fs-28);line-height:var(--tw-leading,var(--text-fs-28--line-height))}.text-fs-34{font-size:var(--text-fs-34);line-height:var(--tw-leading,var(--text-fs-34--line-height))}.text-fs-40{font-size:var(--text-fs-40);line-height:var(--tw-leading,var(--text-fs-40--line-height))}.text-fs-48{font-size:var(--text-fs-48);line-height:var(--tw-leading,var(--text-fs-48--line-height))}.text-fs-56{font-size:var(--text-fs-56);line-height:var(--tw-leading,var(--text-fs-56--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[24px\]{font-size:24px}.text-\[40px\]{font-size:40px}.text-\[64px\]{font-size:64px}.text-\[72px\]{font-size:72px}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-\[1\.3\]{--tw-leading:1.3;line-height:1.3}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.07\]{--tw-leading:1.07;line-height:1.07}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.12\]{--tw-leading:1.12;line-height:1.12}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-\[12px\]{--tw-leading:12px;line-height:12px}.leading-\[16px\]{--tw-leading:16px;line-height:16px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[21px\]{--tw-leading:21px;line-height:21px}.leading-\[23px\]{--tw-leading:23px;line-height:23px}.leading-\[32px\]{--tw-leading:32px;line-height:32px}.leading-\[48px\]{--tw-leading:48px;line-height:48px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-\.025em\]{--tw-tracking:-.025em;letter-spacing:-.025em}.tracking-\[-0\.3px\]{--tw-tracking:-.3px;letter-spacing:-.3px}.tracking-\[-0\.5px\]{--tw-tracking:-.5px;letter-spacing:-.5px}.tracking-\[\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\[\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[\.07em\]{--tw-tracking:.07em;letter-spacing:.07em}.tracking-\[\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[\.09em\]{--tw-tracking:.09em;letter-spacing:.09em}.tracking-\[\.11em\]{--tw-tracking:.11em;letter-spacing:.11em}.tracking-\[\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#1e2022\]{color:#1e2022}.text-\[\#4ED39B\]{color:#4ed39b}
98.text-\[\#9AAAC1\]{color:#9aaac1}.text-\[\#167A52\]{color:#167a52}.text-\[\#232A3D\]{color:#232a3d}.text-\[\#212529\]{color:#212529}.text-\[\#BAC4D0\]{color:#bac4d0}.text-\[\#C79BF2\]{color:#c79bf2}.text-\[\#CBD6E6\]{color:#cbd6e6}.text-\[\#FF9BA8\]{color:#ff9ba8}.text-brand-blue{color:var(--color-brand-blue)}.text-brand-green-cta{color:var(--color-brand-green-cta)}.text-brand-ink{color:var(--color-brand-ink)}.text-brand-ink-deep{color:var(--color-brand-ink-deep)}.text-brand-ink-soft{color:var(--color-brand-ink-soft)}.text-brand-ink\/30{color:#1e1e1e4d}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/30{color:color-mix(in oklab,var(--color-brand-ink) 30%,transparent)}}.text-brand-ink\/40{color:#1e1e1e66}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/40{color:color-mix(in oklab,var(--color-brand-ink) 40%,transparent)}}.text-brand-ink\/45{color:#1e1e1e73}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/45{color:color-mix(in oklab,var(--color-brand-ink) 45%,transparent)}}.text-brand-ink\/50{color:#1e1e1e80}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/50{color:color-mix(in oklab,var(--color-brand-ink) 50%,transparent)}}.text-brand-ink\/55{color:#1e1e1e8c}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/55{color:color-mix(in oklab,var(--color-brand-ink) 55%,transparent)}}.text-brand-ink\/60{color:#1e1e1e99}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/60{color:color-mix(in oklab,var(--color-brand-ink) 60%,transparent)}}.text-brand-ink\/65{color:#1e1e1ea6}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/65{color:color-mix(in oklab,var(--color-brand-ink) 65%,transparent)}}.text-brand-ink\/70{color:#1e1e1eb3}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/70{color:color-mix(in oklab,var(--color-brand-ink) 70%,transparent)}}.text-brand-ink\/75{color:#1e1e1ebf}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/75{color:color-mix(in oklab,var(--color-brand-ink) 75%,transparent)}}.text-brand-ink\/80{color:#1e1e1ecc}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/80{color:color-mix(in oklab,var(--color-brand-ink) 80%,transparent)}}.text-brand-ink\/85{color:#1e1e1ed9}@supports (color:color-mix(in lab,red,red)){.text-brand-ink\/85{color:color-mix(in oklab,var(--color-brand-ink) 85%,transparent)}}.text-brand-pink{color:var(--color-brand-pink)}.text-brand-pink-dark{color:var(--color-brand-pink-dark)}.text-brand-surface-2{color:var(--color-brand-surface-2)}.text-brand-warn{color:var(--color-brand-warn)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-100{color:var(--color-gray-100)}.text-gray-400{color:var(--color-gray-400)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-red{color:var(--color-red)}.text-red-600{color:var(--color-red-600)}.text-rose-700{color:var(--color-rose-700)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\/75{color:color-mix(in oklab,var(--color-white) 75%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-brand-blue{-webkit-text-decoration-color:var(--color-brand-blue);text-decoration-color:var(--color-brand-blue)}.underline-offset-\[3px\]{text-underline-offset:3px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-brand-ink\/45::placeholder{color:#1e1e1e73}@supports (color:color-mix(in lab,red,red)){.placeholder-brand-ink\/45::placeholder{color:color-mix(in oklab,var(--color-brand-ink) 45%,transparent)}}.opacity-0{opacity:0}
98.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_3px_0_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_1px_10px_rgba\(0\,0\,0\,0\.1\)\]{--tw-shadow:0 1px 10px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_24px_rgba\(35\,42\,61\,0\.12\)\]{--tw-shadow:0 8px 24px var(--tw-sha
98dow-color,#232a3d1f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_-12px_rgba\(0\,0\,0\,0\.12\)\]{--tw-shadow:0 8px 30px -12px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_9px_21px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 9px 21px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_14px_80px_-22px_rgba\(0\,0\,0\,0\.15\)\]{--tw-shadow:0 14px 80px -22px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_40px_-20px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 18px 40px -20px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
98dow)}.shadow-\[0_18px_40px_rgba\(35\,42\,61\,\.10\)\]{--tw-shadow:0 18px 40px var(--tw-shadow-color,#232a3d1a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_18px_42px_-18px_rgba\(0\,0\,0\,0\.55\)\]{--tw-shadow:0 18px 42px -18px var(--tw-shadow-color,#0000008c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_48px_-24px_rgba\(35\,42\,61\,0\.18\)\]{--tw-shadow:0 24px 48px -24px var(--tw-shadow-color,#232a3d2e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[2px_4px_20px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:2px 4px 20px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-sha
98dow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-brand-rule{--tw-ring-color:var(--color-brand-rule)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.will-change-transform{will-change:transform}.prose-slate{--tw-prose-body:oklch(37.2% .044 257.287);--tw-prose-headings:oklch(20.8% .042 265.755);--tw-prose-lead:oklch(44.6% .043 257.281);--tw-prose-links:oklch(20.8% .042 265.755);--tw-prose-bold:oklch(20.8% .042 265.755);--tw-prose-counters:oklch(55.4% .046 257.417);--tw-prose-bullets:oklch(86.9% .022 252.894);--tw-prose-hr:oklch(92.9% .013 255.508);--tw-prose-quotes:oklch(20.8% .042 265.755);--tw-prose-quote-borders:oklch(92.9% .013 255.508);--tw-prose-captions:oklch(55.4% .046 257.417);--tw-prose-kbd:oklch(20.8% .042 265.755);--tw-prose-kbd-shadows:oklab(20.8% -.00310889 -.0418848/.1);--tw-prose-code:oklch(20.8% .042 265.755);--tw-prose-pre-code:oklch(92.9% .013 255.508);--tw-prose-pre-bg:oklch(27.9% .041 260.031);--tw-prose-th-borders:oklch(86.9% .022 252.894);--tw-prose-td-borders:oklch(92.9% .013 255.508);--tw-prose-invert-body:oklch(86.9% .022 252.894);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.4% .04 256.788);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.4% .04 256.788);--tw-prose-invert-bullets:oklch(44.6% .043 257.281);--tw-prose-invert-hr:oklch(37.2% .044 257.287);--tw-prose-invert-quotes:oklch(96.8% .007 247.896);--tw-prose-invert-quote-borders:oklch(37.2% .044 257.287);--tw-prose-invert-captions:oklch(70.4% .04 256.788);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(86.9% .022 252.894);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .043 257.281);--tw-prose-invert-td-borders:oklch(37.2% .044 257.287)}.outline-none{--tw-outline-style:none;outline-style:none}.block-1{block-size:calc(var(--spacing) * 1)}.block-2{block-size:calc(var(--spacing) * 2)}.block-3{block-size:calc(var(--spacing) * 3)}.block-4{block-size:calc(var(--spacing) * 4)}.block-5{block-size:calc(var(--spacing) * 5)}.block-6{block-size:calc(var(--spacing) * 6)}.block-7{block-size:calc(var(--spacing) * 7)}.group-open\:rotate-45:is(:where(.group):is([open],:popover-open,:open) *){rotate:45deg}.group-open\:rotate-180:is(:where(.group):is([open],:popover-open,:open) *),.group-open\/obj\:rotate-180:is(:where(.group\/obj):is([open],:popover-open,:open) *){rotate:180deg}@media(hover:hover){.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;
98--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:bg-brand-blue:is(:where(.group):hover *){background-color:var(--color-brand-blue)}.group-hover\:text-brand-blue:is(:where(.group):hover *){color:var(--color-brand-blue)}.group-hover\:text-brand-blue-hover:is(:where(.group):hover *){color:var(--color-brand-blue-hover)}.group-hover\:underline:is(:where(.group):hover *){text-decoration-line:underline}}.placeholder\:text-brand-ink\/45::placeholder{color:#1e1e1e73}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-brand-ink\/45::placeholder{color:color-mix(in oklab,var(--color-brand-ink) 45%,transparent)}}.placeholder\:text-brand-ink\/50::placeholder{color:#1e1e1e80}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-brand-ink\/50::placeholder{color:color-mix(in oklab,var(--color-brand-ink) 50%,transparent)}}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:calc(var(--spacing) * 0)}.first\:pt-\[3px\]:first-child{padding-top:3px}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.empty\:hidden:empty{display:none}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-brand-blue:hover{border-color:var(--color-brand-blue)}.hover\:border-brand-blue-hover:hover{border-color:var(--color-brand-blue-hover)}.hover\:bg-brand-blue:hover{background-color:var(--color-brand-blue)}.hover\:bg-brand-blue-hover:hover{background-color:var(--color-brand-blue-hover)}.hover\:bg-brand-blue\/5:hover{background-color:#1f69ff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-brand-blue\/5:hover{background-color:color-mix(in oklab,var(--color-brand-blue) 5%,transparent)}}.hover\:bg-brand-pink\/15:hover{background-color:#9b51e026}@supports (color:color-mix(in lab,red,red)){.hover\:bg-brand-pink\/15:hover{background-color:color-mix(in oklab,var(--color-brand-pink) 15%,transparent)}}.hover\:bg-brand-surface:hover{background-color:var(--color-brand-surface)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:bg-white\/90:hover{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/90:hover{background-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.hover\:text-brand-blue:hover{color:var(--color-brand-blue)}.hover\:text-brand-blue-hover:hover{color:var(--color-brand-blue-hover)}.hover\:text-brand-ink:hover{color:var(--color-brand-ink)}.hover\:text-brand-ink-deep:hover{color:var(--color-brand-ink-deep)}.hover\:text-brand-ink\/60:hover{color:#1e1e1e99}@supports (color:color-mix(in lab,red,red)){.hover\:text-brand-ink\/60:hover{color:color-mix(in oklab,var(--color-brand-ink) 60%,transparent)}}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_9px_21px_rgba\(0\,0\,0\,0\.15\)\]:hover{--tw-shadow:0 9px 21px var(--tw-sha
98dow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_11px_22px_rgba\(0\,0\,0\,0\.1\)\]:hover{--tw-shadow:0 11px 22px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_11px_22px_rgba\(0\,0\,0\,0\.2\)\]:hover{--tw-shadow:0 11px 22px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_18px_40px_-20px_rgba\(0\,0\,0\,0\.18\)\]:hover{--tw-shadow:0 18px 40px -20px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_18px_40px_-20px_rgba\(0\,0\,0\,0\.32\)\]:hover{--tw-shadow:0 18px 40px -20px var(--tw-shadow-color,#00000052);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-sha
98dow)}}.focus\:border-brand-blue:focus{border-color:var(--color-brand-blue)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:text-brand-blue:focus-visible{color:var(--color-brand-blue)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-brand-blue\/50:focus-visible{--tw-ring-color:#1f69ff80}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-brand-blue\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-brand-blue) 50%, transparent)}}.focus-visible\:ring-white\/50:focus-visible{--tw-ring-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-white\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-white) 50%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media(min-width:40rem){.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:inline{display:inline}.sm\:w-\[300px\]{width:300px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1fr_300px\]{grid-template-columns:1fr 300px}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:px-7{padding-inline:calc(var(--spacing) * 7)}}@media(min-width:48rem){.md\:absolute{position:absolute}.md\:top-full{top:100%}.md\:right-0{right:calc(var(--spacing) * 0)}.md\:mt-1{margin-top:calc(var(--spacing) * 1)}.md\:block{display:block}.md\:hidden{display:none}.md\:inline-flex{display:inline-flex}.md\:w-\[480px\]{width:480px}.md\:max-w-2xl{max-width:var(--container-2xl)}.md\:basis-\[32\%\]{flex-basis:32%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:gap-3{gap:calc(var(--spacing) * 3)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:px-\[50px\]{padding-inline:50px}.md\:py-6{padding-block:calc(var(--spacing) * 6)}.md\:py-\[35px\]{padding-block:35px}.md\:pr-\[40px\]{padding-right:40px}.md\:text-fs-56{font-size:var(--text-fs-56);line-height:var(--tw-leading,var(--text-fs-56--line-height))}.md\:text-\[24px\]{font-size:24px}.md\:text-\[28px\]{font-size:28px}.md\:leading-\[32px\]{--tw-leading:32px;line-height:32px}.md\:leading-\[36px\]{--tw-leading:36px;line-height:36px}}@media(min-width:64rem){.lg\:absolute{position:absolute}.lg\:sticky{position:sticky}.lg\:top-0{top:calc(var(--spacing) * 0)}.lg\:top-\[90px\]{top:90px}.lg\:right-0{right:calc(var(--spacing) * 0)}.lg\:z-10{z-index:10}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mx-0{margin-inline:calc(var(--spacing) * 0)}.lg\:mt-0{margin-top:calc(var(--spacing) * 0)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:list-item{display:list-item}.lg\:h-\[320px\]{height:320px}.lg\:h-full{height:100%}.lg\:max-h-\[calc\(100vh-110px\)\]{max-height:calc(100vh - 110px)}.lg\:min-h-\[calc\(100vh-100px\)\]{min-height:calc(100vh - 100px)}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.3333%}.lg\:w-1\/4{width:25%}.lg\:w-2\/3{width:66.6667%}.lg\:w-3\/4{width:75%}.lg\:w-\[45\%\]{width:45%}.lg\:w-\[240px\]{width:240px}.lg\:w-\[296px\]{width:296px}.lg\:w-\[calc\(100\%-115px\)\]{width:calc(100% - 115px)}.lg\:max-w-\[75\%\]{max-width:75%}.lg\:max-w-\[820px\]{max-width:820px}.lg\:max-w-none{max-width:none}.lg\:max-w-xl{max-width:var(--container-xl)}.lg\:flex-1{flex:1}.lg\:flex-shrink-0{flex-shrink:0}.lg\:basis-0{flex-basis:calc(var(--spacing) * 0)}.lg\:basis-\[45\%\]{flex-basis:45%}.lg\:basis-\[52\%\]{flex-basis:52%}.lg\:basis-\[55\%\]{flex-basis:55%}.lg\:columns-2{columns:2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-\[1\.2fr_1fr\]{grid-template-columns:1.2fr 1fr}.lg\:grid-cols-\[1fr_1\.2fr\]{grid-template-columns:1fr 1.2fr}.lg\:grid-cols-\[1fr_1\.4fr\]{grid-template-columns:1fr 1.4fr}.lg\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.lg\:grid-cols-\[1fr_320px\]{grid-template-columns:1fr 320px}.lg\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.lg\:grid-cols-\[1fr_380px\]{grid-template-columns:1fr 380px}.lg\:grid-cols-\[1fr_400px\]{grid-template-columns:1fr 400px}.lg\:grid-cols-\[1fr_440px\]{grid-template-columns:1fr 440px}.lg\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.lg\:grid-cols-\[1fr_repeat\(4\,_minmax\(0\,0\.55fr\)\)\]{grid-template-columns:1fr repeat(4,minmax(0,.55fr))}.lg\:grid-cols-\[240px_minmax\(0\,1fr\)\]{grid-template-columns:240px minmax(0,1fr)}.lg\:grid-cols-\[260px_1fr\]{grid-template-columns:260px 1fr}.lg\:grid-cols-\[260px_minmax\(0\,1fr\)\]{grid-template-columns:260px minmax(0,1fr)}.lg\:grid-cols-\[420px_minmax\(0\,1fr\)\]{grid-template-columns:420px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,640px\)\]{grid-template-columns:minmax(0,1fr) minmax(0,640px)}.lg\:grid-cols-\[repeat\(4\,minmax\(0\,1fr\)\)_auto\]{grid-template-columns:repeat(4,minmax(0,1fr)) auto}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:items-stretch{align-items:stretch}.lg\:justify-between{justify-content:space-between}.lg\:gap-4{gap:calc(var(--spacing) * 4)}.lg\:gap-10{gap:calc(var(--spacing) * 10)}.lg\:gap-12{gap:calc(var(--spacing) * 12)}.lg\:gap-14{gap:calc(var(--spacing) * 14)}.lg\:gap-16{gap:calc(var(--spacing) * 16)}.lg\:self-start{align-self:flex-start}.lg\:justify-self-end{justify-self:flex-end}.lg\:overflow-visible{overflow:visible}.lg\:overflow-y-auto{overflow-y:auto}.lg\:p-10{padding:calc(var(--spacing) * 10)}.lg\:px-0{padding-inline:calc(var(--spacing) * 0)}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}.lg\:px-9{padding-inline:calc(var(--spacing) * 9)}.lg\:px-12{padding-inline:calc(var(--spacing) * 12)}.lg\:py-9{padding-block:calc(var(--spacing) * 9)}.lg\:py-12{padding-block:calc(var(--spacing) * 12)}.lg\:py-\[102px\]{padding-block:102px}.lg\:pr-\[296px\]{padding-right:296px}.lg\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.lg\:pl-8{padding-left:calc(var(--spacing) * 8)}.lg\:pl-12{padding-left:calc(var(--spacing) * 12)}.lg\:text-left{text-align:left}.lg\:text-fs-18{font-size:var(--text-fs-18);line-height:var(--tw-leading,var(--text-fs-18--line-height))}.lg\:text-fs-28{font-size:var(--text-fs-28);line-height:var(--tw-leading,var(--text-fs-28--line-height))}.lg\:text-fs-34{font-size:var(--text-fs-34);line-height:var(--tw-leading,var(--text-fs-34--line-height))}.lg\:text-fs-40{font-size:var(--text-fs-40);line-height:var(--tw-leading,var(--text-fs-40--line-height))}.lg\:text-fs-48{font-size:var(--text-fs-48);line-height:var(--tw-leading,var(--text-fs-48--line-height))}.lg\:text-fs-56{font-size:var(--text-fs-56);line-height:var(--tw-leading,var(--text-fs-56--line-height))}.lg\:text-\[36px\]{font-size:36px}.lg\:text-\[44px\]{font-size:44px}.lg\:leading-\[42px\]{--tw-leading:42px;line-height:42px}}@media(min-width:80rem){.xl\:max-w-3xl{max-width:var(--container-3xl)}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-color-scheme:dark){.dark\:border-gray-900\/50{border-color:#10182880}@supports (color:color-mix(in lab,red,red)){.dark\:border-gray-900\/50{border-color:color-mix(in oklab,var(--color-gray-900) 50%,transparent)}}.dark\:bg-\[\#444654\]{background-color:#444654}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:prose-invert{--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);
98--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}}.prose-headings\:font-bold :where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.prose-a\:text-brand-blue :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-brand-blue)}.prose-a\:no-underline :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}@media(hover:hover){.hover\:prose-a\:underline:hover :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:underline}}.prose-pre\:bg-brand-ink :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--color-brand-ink)}.prose-pre\:text-white :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--color-white)}.prose-img\:rounded-md :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:var(--radius-md)}.\[\&_\.highlight\]\:text-brand-pink .highlight{color:var(--color-brand-pink)}.\[\&_a\]\:text-brand-blue a{color:var(--color-brand-blue)}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_li\]\:mt-1 li{margin-top:calc(var(--spacing) * 1)}.\[\&_p\+p\]\:mt-3 p+p,.\[\&_ul\]\:mt-3 ul{margin-top:calc(var(--spacing) * 3)}.\[\&_ul\]\:list-disc ul{list-style-type:disc}.\[\&_ul\]\:pl-6 ul{padding-left:calc(var(--spacing) * 6)}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}.nav-item[data-astro-cid-q5zgq34x][data-active=true],.nav-item[data-astro-cid-q5zgq34x][aria-expanded=true]{color:#1f69ff}[data-astro-cid-q5zgq34x][data-mega-trigger][aria-expanded=true] [data-astro-cid-q5zgq34x][data-caret]{transform:rotate(180deg)}.dq-mobile-nav[data-astro-cid-q5zgq34x]{position:fixed;inset:0;z-index:60;display:none}[data-astro-cid-q5zgq34x][data-mobile-open=true] .dq-mobile-nav[data-astro-cid-q5zgq34x]{display:block}.dq-mobile-nav-backdrop[data-astro-cid-q5zgq34x]{position:absolute;inset:0;background:#232a3d66;opacity:0;transition:opacity .2s ease}[data-astro-cid-q5zgq34x][data-mobile-open=true] .dq-mobile-nav-backdrop[data-astro-cid-q5zgq34x]{opacity:1}.dq-mobile-nav-drawer[data-astro-cid-q5zgq34x]{position:absolute;top:0;right:0;bottom:0;width:88%;max-width:360px;background:#fff;box-shadow:-8px 0 24px #232a3d2e;transform:translate(100%);transition:transform .22s ease}[data-astro-cid-q5zgq34x][data-mobile-open=true] .dq-mobile-nav-drawer[data-astro-cid-q5zgq34x]{transform:translate(0)}.dq-mobile-nav[data-astro-cid-q5zgq34x] summary[data-astro-cid-q5zgq34x]::-webkit-details-marker{display:none}.dq-mobile-nav[data-astro-cid-q5zgq34x] summary[data-astro-cid-q5zgq34x]{list-style:none}html:not(.dq-logged-in) .state-logged-in{display:none!important}html.dq-logged-in .state-logged-out{display:none!important} 99.dq-logo-tile[data-astro-cid-w6olbi4e]{filter:brightness(0) invert(1);opacity:.85}@keyframes chBlink{0%,to{opacity:1}50%{opacity:0}
99}@keyframes chBounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.dq-editor .CodeMirror{height:220px;background:transparent;color:#fff;font-size:13px;line-height:1.5}.dq-editor .CodeMirror .CodeMirror-lines{padding:.5rem 0 .75rem}.dq-editor .CodeMirror .CodeMirror-line{padding-left:6px}.dq-editor .CodeMirror .CodeMirror-linenumber{color:#9ca9bc}.dq-editor .CodeMirror .CodeMirror-gutters{background:#000;border-right:1px solid #2c354b}.dq-editor .CodeMirror .CodeMirror-cursor{border-left-color:#fff}.dq-editor .CodeMirror .cm-keyword{color:#f59e0b}.dq-editor .CodeMirror .cm-number{color:#fbbf24}.dq-editor .CodeMirror .cm-string{color:#86efac}.dq-editor .CodeMirror .cm-comment{color:#9ca9bc;font-style:italic}.dq-editor .CodeMirror .cm-operator{color:#cbd5e1}.dq-editor .CodeMirror .cm-builtin,.dq-editor .CodeMirror .cm-def{color:#93c5fd}@keyframes qzFadeIn{0%{opacity:0}to{opacity:1}}@keyframes qzFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes qzPop{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}#pf-quiz-overlay{position:fixed;inset:0;background:#232a3d8c;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;animation:qzFadeIn .2s ease both}#pf-quiz-overlay.pf-hidden{display:none!important}#pf-quiz-box{width:100%;max-width:640px;height:min(720px,calc(100vh - 48px));background:#fff;box-shadow:0 24px 60px -12px #232a3d66;display:flex;flex-direction:column;animation:qzPop .25s ease both}.pf-header{border-bottom:1px solid #D9DEE5;padding:14px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;flex-shrink:0}.pf-step-count{font-size:13px;color:#7d8fa8;justify-self:start}.pf-logo{height:28px;display:block;justify-self:center}.pf-close-btn{background:none;border:none;color:#7d8fa8;cursor:pointer;padding:4px;display:flex;align-items:center;justify-self:end;transition:color .15s}.pf-close-btn:hover{color:#141926}.pf-progress-track{width:100%;height:4px;background:#d9dee5;position:relative;flex-shrink:0}.pf-progress-fill{position:absolute;left:0;top:0;height:100%;background:#1f69ff;transition:width .4s ease}.pf-body{flex:1;overflow-y:auto;padding:40px 24px}.pf-inner{width:100%;max-width:520px;margin:0 auto}.pf-intro{animation:qzFadeUp .35s ease both;text-align:center;padding-top:24px}.pf-intro-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 24px;background:#9b51e014;color:#9b51e0}.pf-intro h1{font-size:30px;font-weight:600;color:#141926;margin:0 0 12px;line-height:1.2;letter-spacing:-1px}.pf-intro p{font-size:16px;color:#607390;line-height:1.55;max-width:400px;margin:0 auto 36px}.pf-start-btn{font-size:16px;font-weight:600;color:#fff;background:#1f69ff;border:none;padding:13px 32px;cursor:pointer;transition:background .15s ease}.pf-start-btn:hover{background:#4987ff}.pf-hint{font-size:13px;color:#7d8fa8;margin-top:14px}.pf-question{animation:qzFadeUp .35s ease both}.pf-question h2{font-size:26px;font-weight:600;color:#141926;margin:0 0 4px;line-height:1.3;letter-spacing:-.5px}.pf-question .pf-subtitle{font-size:15px;color:#607390;margin:0 0 28px}.pf-question .pf-subtitle-spacer{height:28px}.pf-options{display:flex;flex-direction:column;gap:10px}.pf-option{display:flex;align-items:center;gap:14px;padding:12px 18px;border:2px solid #D9DEE5;background:#fff;cursor:pointer;font-size:15px;font-weight:400;color:#141926;text-align:left;transition:all .15s ease;outline:none}.pf-option:hover{border-color:#7d8fa8;background:#f7f8fa}.pf-option.pf-selected{border-color:#1f69ff;background:#1f69ff14;font-weight:600}.pf-icon-box{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;color:#607390}.pf-back-btn{background:none;border:none;cursor:pointer;font-size:13px;color:#7d8fa8;margin-top:22px;padding:4px 0;display:inline-flex;align-items:center;gap:6px;transition:color .15s}.pf-back-btn:hover{color:#607390}.pf-results-header{text-align:center;margin-bottom:32px;animation:qzFadeUp .35s ease both}.pf-results-header h2{font-size:26px;font-weight:600;color:#141926;margin:0 0 8px;letter-spacing:-.5px}.pf-results-header p{font-size:15px;color:#607390;margin:0}.pf-result-cards{display:flex;flex-direction:column;gap:14px}.pf-result-card{border:2px solid #D9DEE5;padding:24px;background:#fff}.pf-result-card.pf-primary{border-color:#1f69ff}.pf-result-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px;flex-wrap:wrap}.pf-result-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px}.pf-result-label.pf-primary-label{color:#9b51e0;background:#9b51e014}.pf-result-label.pf-secondary-label{color:#607390;background:#f7f8fa}.pf-result-type{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#607390}.pf-result-name{font-size:20px;font-weight:600;color:#141926;margin:10px 0 6px;letter-spacing:-.5px}.pf-result-badge{font-size:10px;font-weight:600;background:#fde68a;color:#374151;padding:2px 8px;margin-left:10px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}.pf-result-desc{font-size:14px;color:#607390;margin:0 0 14px;line-height:1.55}.pf-result-tools{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.pf-tool-tag{font-size:12px;color:#607390;background:#f7f8fa;padding:3px 9px;border:1px solid #D9DEE5}.pf-result-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pf-result-cta{font-size:14px;font-weight:600;color:#fff;background:#1f69ff;padding:10px 20px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:background .15s ease}.pf-result-cta:hover{background:#4987ff}.pf-result-meta-text{font-size:13px;color:#7d8fa8}.pf-retake-wrap{text-align:center;margin-top:32px;animation:qzFadeUp .4s ease .5s both}.pf-retake-btn{background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:#1f69ff;padding:6px 0;display:inline-flex;align-items:center;gap:6px;transition:color .15s}.pf-retake-btn:hover{color:#4987ff}.pf-retake-note{font-size:13px;color:#7d8fa8;margin-top:10px;line-height:1.5} 100</style></head> <body class="flex min-h-screen flex-col bg-white font-sans text-brand-ink antialiased">
vendor: 69 bytes, line 100
100 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
100GTM-K7XQVQR
vendor: 85 bytes, line 100
100" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
100<header id="site-header" data-pagefind-ignore class="sticky top-0 z-50 bg-white shadow-[0_1px_3px_0_rgba(0,0,0,0.08)]" data-mega-open="false" data-astro-cid-q5zgq34x> <div class="mx-auto flex h-[66px] max-w-container items-center justify-between gap-6 px-3 lg:px-6" data-astro-cid-q5zgq34x> <div class="flex items-center gap-9" data-astro-cid-q5zgq34x> <a href="/" class="flex items-center" aria-label="Dataquest home" data-astro-cid-q5zgq34x> <img src="/dq-logo.svg" alt="Dataquest" width="120" height="26" class="h-[26px] w-auto" loading="eager" fetchpriority="high" decoding="async" data-astro-cid-q5zgq34x> </a> <nav aria-label="Primary" class="hidden md:block" data-astro-cid-q5zgq34x> <ul class="flex items-center gap-6 text-[15px]" style="color:#232A3D" data-astro-cid-q5zgq34x> <li class="state-logged-in" data-astro-cid-q5zgq34x><a href="https://app.dataquest.io/dashboard" class="whitespace-nowrap font-normal hover:text-brand-blue" style="color:#232A3D" data-astro-cid-q5zgq34x>Dashboard</a></li> <li class="state-logged-in" data-astro-cid-q5zgq34x><a href="https://app.dataquest.io/learning/path" class="whitespace-nowrap font-normal hover:text-brand-blue" style="color:#232A3D" data-astro-cid-q5zgq34x>Learning path</a></li> <li class="relative " data-astro-cid-q5zgq34x> <a href="/catalog/" class="group/nav nav-item relative flex h-[66px] cursor-pointer items-center gap-[6px] whitespace-nowrap text-[15px] text-brand-ink-soft font-normal hover:text-brand-blue focus-visible:text-brand-blue focus:outline-none" data-mega-trigger="0" data-active="false" aria-haspopup="true" aria-expanded="false" aria-controls="mega-panel-0" data-astro-cid-q5zgq34x> Catalog <svg class="mt-[2px] transition-transform duration-200" width="12" height="12" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-caret data-astro-cid-q5zgq34x> <polyline points="5 8 10 13 15 8" data-astro-cid-q5zgq34x></polyline> </svg> </a> </li><li class="relative " data-astro-cid-q5zgq34x> <a href="/blog/" class="group/nav nav-item relative flex h-[66px] cursor-pointer items-center gap-[6px] whitespace-nowrap text-[15px] text-brand-ink-soft font-normal hover:text-brand-blue focus-visible:text-brand-blue focus:outline-none" data-mega-trigger="1" data-active="false" aria-haspopup="true" aria-expanded="false" aria-controls="mega-panel-1" data-astro-cid-q5zgq34x> Resources <svg class="mt-[2px] transition-transform duration-200" width="12" height="12" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-caret data-astro-cid-q5zgq34x> <polyline points="5 8 10 13 15 8" data-astro-cid-q5zgq34x></polyline> </svg> </a> </li><li class data-astro-cid-q5zgq34x> <a href="/for-business/" class="nav-item relative flex h-[66px] items-center whitespace-nowrap text-[15px] text-brand-ink-soft font-normal hover:text-brand-blue" data-active="false" data-astro-cid-q5zgq34x>For Business</a> </li><li class="hidden lg:list-item" data-astro-cid-q5zgq34x> <a href="/academic-discounts/" class="nav-item relative flex h-[66px] items-center whitespace-nowrap text-[15px] text-brand-ink-soft font-normal hover:text-brand-blue" data-active="false" data-astro-cid-q5zgq34x>For Education</a> </li> </ul> </nav> </div> <div class="flex items-center gap-2 text-fs-14 font-semibold" data-astro-cid-q5zgq34x> <a href="https://app.dataquest.io/login" class="state-logged-out hidden items-center border bg-white px-4 py-[8px] hover:text-brand-blue md:inline-flex" style="color:#3F4C64; border-color:#D9DEE5" data-astro-cid-q5zgq34x>Sign In</a> <a href="https://app.dataquest.io/signup" class="state-logged-out hidden items-center bg-brand-blue px-4 py-[8px] text-white transition hover:bg-brand-blue-hover md:inline-flex" data-astro-cid-q5zgq34x>Start Free</a> <button type="button" class="dq-hamburger inline-flex items-center justify-center border-0 bg-transparent p-2 text-brand-ink-soft transition hover:text-brand-blue focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-blue/50 md:hidden" aria-label="Open menu" aria-controls="mobile-nav" aria-expanded="false" data-mobile-trigger data-astro-cid-q5zgq34x> <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true" data-astro-cid-q5zgq34x> <line x1="3" y1="6" x2="21" y2="6" data-astro-cid-q5zgq34x></line> <line x1="3" y1="12" x2="21" y2="12" data-astro-cid-q5zgq34x></line> <line x1="3" y1="18" x2="21" y2="18" data-astro-cid-q5zgq34x></line> </svg> </button> <div class="state-logged-in relative hidden md:block" data-profile-menu data-astro-cid-q5zgq34x> <button type="button" class="inline-flex cursor-pointer items-center gap-1 border-0 bg-transparent p-1 text-brand-ink-soft transition hover:text-brand-ink/60 focus:outline-none focus-visible:ring-2 focus-visible:ring-brand-blue/50" aria-label="User menu" aria-haspopup="true" aria-expanded="false" data-profile-trigger data-astro-cid-q5zgq34x> <svg width="30" height="30" viewBox="0 0 512 512" fill="currentColor" aria-hidden="true" data-astro-cid-q5zgq34x> <path d="M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-2
10008S370.69 48 256 48zm2 96a72 72 0 11-72 72 72 72 0 0172-72zm-2 288a175.55 175.55 0 01-129.18-56.6C135.66 329.62 215.06 320 256 320s120.34 9.62 129.18 55.39A175.52 175.52 0 01256 432z" data-astro-cid-q5zgq34x></path> </svg> <svg width="14" height="14" viewBox="0 0 512 512" fill="none" stroke="currentColor" stroke-width="48" stroke-linecap="square" stroke-miterlimit="10" aria-hidden="true" data-astro-cid-q5zgq34x> <path d="M112 184l144 144 144-144" data-astro-cid-q5zgq34x></path> </svg> </button> <div class="absolute right-0 top-full mt-2 hidden min-w-[200px] border border-brand-rule bg-white py-2 shadow-[0_8px_24px_rgba(35,42,61,0.12)]" role="menu" data-profile-panel data-astro-cid-q5zgq34x> <a href="https://app.dataquest.io/profile/" role="menuitem" class="block px-5 py-2 text-fs-16 font-normal text-brand-ink-soft transition hover:bg-brand-surface hover:text-brand-blue" data-astro-cid-q5zgq34x> Profile </a><a href="https://app.dataquest.io/settings/account" role="menuitem" class="block px-5 py-2 text-fs-16 font-normal text-brand-ink-soft transition hover:bg-brand-surface hover:text-brand-blue" data-astro-cid-q5zgq34x> Account </a><a href="https://app.dataquest.io/settings/subscription" role="menuitem" class="block px-5 py-2 text-fs-16 font-normal text-brand-ink-soft transition hover:bg-brand-surface hover:text-brand-blue" data-astro-cid-q5zgq34x> Subscription </a><a href="/for-business/" role="menuitem" class="block px-5 py-2 text-fs-16 font-normal text-brand-ink-soft transition hover:bg-brand-surface hover:text-brand-blue" data-astro-cid-q5zgq34x> Teams </a><a href="https://help.dataquest.io/" role="menuitem" class="block px-5 py-2 text-fs-16 font-normal text-brand-ink-soft transition hover:bg-brand-surface hover:text-brand-blue" data-astro-cid-q5zgq34x> Help </a><a href="https://app.dataquest.io/accounts/logout/" role="menuitem" class="block px-5 py-2 text-fs-16 font-normal text-brand-ink-soft transition hover:bg-brand-surface hover:text-brand-blue" data-astro-cid-q5zgq34x> Logout </a> </div> </div> </div> </div> <div id="mega-panel-0" class="absolute left-0 right-0 hidden overflow-hidden border-t border-b border-brand-rule bg-white shadow-[0_24px_48px_-24px_rgba(35,42,61,0.18)]" data-mega-panel="0" role="region" aria-label="Catalog menu" data-astro-cid-q5zgq34x> <div class="mx-auto max-w-container px-3 py-10 lg:px-6 lg:py-12" data-astro-cid-q5zgq34x> <div class="grid gap-x-10 gap-y-10 lg:grid-cols-4 grid-cols-1 sm:grid-cols-2" data-astro-cid-q5zgq34x> <div class="mega-col flex flex-col" data-astro-cid-q5zgq34x> <div class="mb-4 flex items-baseline justify-between gap-3 border-b border-brand-rule pb-2" data-astro-cid-q5zgq34x> <div class="text-fs-14 font-semibold leading-tight text-brand-ink-soft" data-astro-cid-q5zgq34x>Career Paths</div> <a href="/catalog/career-paths/" class="text-fs-12 font-semibold text-brand-blue hover:text-brand-blue-hover hover:underline whitespace-nowrap" data-astro-cid-q5zgq34x>View all â</a> </div> <ul class="flex flex-1 flex-col gap-1" data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/path/ai-engineering/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>AI Engineering</span> <span class="ml-1 inline-block flex-shrink-0 bg-brand-warn px-1.5 py-px text-[10px] font-semibold uppercase tracking-[.06em] text-brand-ink-soft" data-astro-cid-q5zgq34x>New</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/data-scientist/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Data Science</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/data-engineer/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Data Engineering</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/data-analyst/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Data Analytics</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/business-analyst-with-power-bi/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Business Analyst</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/data-analyst-r/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>R</span> </a> </li> </ul> </div><div class="mega-col flex flex-col" data-astro-cid-q5zgq34x> <div class="mb-4 flex items-baseline justify-between gap-3 border-b border-brand-rule pb-2" data-astro-cid-q5zgq34x> <div class="text-fs-14 font-semibold leading-tight text-brand-ink-soft" data-astro-cid-q5zgq34x>Skill Paths</div> <a href="/catalog/skill-paths/" class="text-fs-12 font-semibold text-brand-blue hover:text-brand-blue-hover hover:underline whitespace-nowrap" data-astro-cid-q5zgq34x>View all â</a> </div> <ul class="flex flex-1 flex-col gap-1" data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/path/sql-skills/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>SQL</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/learn-python/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Python</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/r-basics-for-data-analysis/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>R</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/analyzing-data-with-microsoft-power-bi-skill-path/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Power BI</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/machine-learning-in-python/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Machine Learning</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/catalog/cloud-computing-courses/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Cloud Computing</span> </a> </li> </ul> </div><div class="mega-col flex flex-col" data-astro-cid-q5zgq34x> <div class="mb-4 flex items-baseline justify-between gap-3 border-b border-brand-rule pb-2" data-astro-cid-q5zgq34x> <div class="text-fs-14 font-semibold leading-tight text-brand-ink-soft" data-astro-cid-q5zgq34x>Courses</div>
100 <a href="/catalog/individual-courses/" class="text-fs-12 font-semibold text-brand-blue hover:text-brand-blue-hover hover:underline whitespace-nowrap" data-astro-cid-q5zgq34x>View all â</a> </div> <ul class="flex flex-1 flex-col gap-1" data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/catalog/ai-courses/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>AI Courses</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/catalog/data-science-courses/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Data Science Courses</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/catalog/data-analysis-courses/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Analytics Courses</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/catalog/sql-courses/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>SQL Courses</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/catalog/r-courses/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>R Courses</span> </a> </li> </ul> </div><div class="mega-col flex flex-col" data-astro-cid-q5zgq34x> <div class="mb-4 flex items-baseline justify-between gap-3 border-b border-brand-rule pb-2" data-astro-cid-q5zgq34x> <div class="text-fs-14 font-semibold leading-tight text-brand-ink-soft" data-astro-cid-q5zgq34x>Projects</div> <a href="/data-science-projects/" class="text-fs-12 font-semibold text-brand-blue hover:text-brand-blue-hover hover:underline whitespace-nowrap" data-astro-cid-q5zgq34x>View all â</a> </div> <ul class="flex flex-1 flex-col gap-1" data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/blog/python-projects-for-beginners/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Python Projects</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/sql-projects/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>SQL Projects</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/data-science-projects-for-beginners-to-advanced/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Data Science Projects</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/machine-learning-projects-for-beginners-to-advanced/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Machine Learning Projects</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/r-projects-for-beginners-with-source-code/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>R Projects</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/power-bi-project-ideas-to-build-your-portfolio/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Power BI Projects</span> </a> </li> </ul> </div> </div> </div> </div><div id="mega-panel-1" class="absolute left-0 right-0 hidden overflow-hidden border-t border-b border-brand-rule bg-white shadow-[0_24px_48px_-24px_rgba(35,42,61,0.18)]" data-mega-panel="1" role="region" aria-label="Resources menu" data-astro-cid-q5zgq34x> <div class="mx-auto max-w-container px-3 py-10 lg:px-6 lg:py-12" data-astro-cid-q5zgq34x> <div class="grid gap-x-10 gap-y-10 lg:grid-cols-5 grid-cols-1 sm:grid-cols-2" data-astro-cid-q5zgq34x> <div class="mega-col flex flex-col" data-astro-cid-q5zgq34x> <div class="mb-4 flex items-baseline justify-between gap-3 border-b border-brand-rule pb-2" data-astro-cid-q5zgq34x> <div class="text-fs-14 font-semibold leading-tight text-brand-ink-soft" data-astro-cid-q5zgq34x>Topics</div> <a href="/blog/" class="text-fs-12 font-semibold text-brand-blue hover:text-brand-blue-hover hover:underline whitespace-nowrap" data-astro-cid-q5zgq34x>View all â</a> </div> <ul class="flex flex-1 flex-col gap-1" data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/blog/topics/python-tutorials/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Python</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/topics/r-tutorials/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>R</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/topics/machine-learning-tutorials/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Machine Learning</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/topics/sql-tutorials/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>SQL</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/topics/power-bi-tutorials/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Power BI</span> </a> </li> </ul> </div><div class="mega-col flex flex-col" data-astro-cid-q5zgq34x> <div class="mb-4 flex items-baseline justify-between gap-3 border-b border-brand-rule pb-2" data-astro-cid-q5zgq34x> <div class="text-fs-14 font-semibold leading-tight text-brand-ink-soft" data-astro-cid-q5zgq34x>Tutorials</div> <a href="/guide/" class="text-fs-12 font-semibold text-brand-blue hover:text-brand-blue-hover hover:underline whitespace-nowrap" data-astro-cid-q5zgq34x>View all â</a> </div> <ul class="flex flex-1 flex-col gap-1" data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/guide/python-tutorial/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Python Tutorial</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/guide/sql-tutorial/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>SQL Tutorial</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/guide/numpy-pandas-and-data-visualization-tutorial/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>NumPy Tutorial</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/guide/data-cleaning-in-python-tutorial/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Data Cleaning</span> </a> </li> </ul> </div><div class="mega-col flex flex-col" data-astro-cid-q5zgq34x> <div class="mb-4 flex items-baseline justify-between gap-3 border-b border-brand-rule pb-2" data-astro-cid-q5zgq34x> <div class="text-fs-14 font-semibold leading-tight text-brand-ink-soft" data-astro-cid-q5zgq34x>Cheat Sheets</div> <a href="/cheat-sheet/" class="text-fs-12 font-semibold text-brand-blue hover:text-brand-blue-hover hover:underline whitespace-nowrap" data-astro-cid-q5zgq34x>View all â</a> </div> <ul class="flex flex-1 flex-col gap-1" data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/cheat-sheet/python-cheat-sheet/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Python</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/cheat-sheet/command-line-git-cheat-sheet/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Command Line</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/cheat-sheet/sql-cheat-sheet/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>SQL</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/cheat-sheet/regular-expressions-cheat-sheet/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Regex</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/cheat-sheet/matplotlib-cheat-sheet/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>MatPlotLib</span> </a> </li> </ul> </div><div class="mega-col flex flex-col" data-astro-cid-q5zgq34x> <div class="mb-4 flex items-baseline justify-between gap-3 border-b border-brand-rule pb-2" data-astro-cid-q5zgq34x> <div class="text-fs-14 font-semibold leading-tight text-brand-ink-soft" data-astro-cid-q5zgq34x>More</div> </div> <ul class="flex flex-1 flex-col gap-1" data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/blog/learn-python-the-right-way/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>How to Learn Python</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/dqdl/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Newsletters</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/learner-stories/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Learner Stories</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/data-science-jobs/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Jobs</span> </a> </li> </ul> </div><div class="mega-col flex flex-col" data-astro-cid-q5zgq34x> <div class="mb-4 flex items-baseline justify-between gap-3 border-b border-brand-rule pb-2" data-astro-cid-q5zgq34x> <div class="text-fs-14 font-semibold leading-tight text-brand-ink-soft" data-astro-cid-q5zgq34x>New</div> <a href="/blog/" class="text-fs-12 font-semibold text-brand-blue hover:text-brand-blue-hover hover:underline whitespace-nowrap" data-astro-cid-q5zgq34x>View all â</a> </div> <ul class="flex flex-1 flex-col gap-1" data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/blog/data-analyst-resume/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>How to Write a Data Analyst Resume That Gets Interviews</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/python-for-ai/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>Python for AI in 2026: What You Need to Learn (and What You Can Skip)</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/how-to-become-a-data-engineer/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>
100How to Become a Data Engineer in 2026</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/how-to-become-a-machine-learning-engineer/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>How to Become a Machine Learning Engineer in 2026</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/computer-vision-projects/" class="mega-link flex items-start gap-2 py-1 text-fs-14 leading-snug text-brand-ink-soft transition-colors hover:text-brand-blue" data-astro-cid-q5zgq34x> <span class="line-clamp-2 flex-1" data-astro-cid-q5zgq34x>30 Computer Vision Projects for Every Skill Level</span> </a> </li> </ul> </div> </div> </div> </div> <div id="mega-backdrop" class="pointer-events-none fixed inset-x-0 top-[66px] bottom-0 z-[-1] bg-black/0 opacity-0 transition-opacity duration-150" aria-hidden="true" data-astro-cid-q5zgq34x></div> <div id="mobile-nav" class="dq-mobile-nav md:hidden" role="dialog" aria-modal="true" aria-label="Site menu" aria-hidden="true" data-mobile-panel data-astro-cid-q5zgq34x> <div class="dq-mobile-nav-backdrop" data-mobile-backdrop aria-hidden="true" data-astro-cid-q5zgq34x></div> <div class="dq-mobile-nav-drawer flex flex-col" data-astro-cid-q5zgq34x> <div class="flex items-center justify-end border-b border-brand-rule px-3 py-2" data-astro-cid-q5zgq34x> <button type="button" class="inline-flex items-center justify-center border-0 bg-transparent p-2 text-brand-ink-soft hover:text-brand-blue focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand-blue/50" aria-label="Close menu" data-mobile-close data-astro-cid-q5zgq34x> <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true" data-astro-cid-q5zgq34x> <line x1="6" y1="6" x2="18" y2="18" data-astro-cid-q5zgq34x></line> <line x1="6" y1="18" x2="18" y2="6" data-astro-cid-q5zgq34x></line> </svg> </button> </div> <div class="border-b border-brand-rule px-4 py-4" data-astro-cid-q5zgq34x> <div class="state-logged-out grid grid-cols-2 gap-2" data-astro-cid-q5zgq34x> <a href="https://app.dataquest.io/signup" class="inline-flex h-[46px] items-center justify-center bg-brand-blue px-3 text-fs-14 font-semibold text-white hover:bg-brand-blue-hover" data-mobile-close data-astro-cid-q5zgq34x> 101Start Free 102</a> <a href="https://app.dataquest.io/login" class="inline-flex h-[46px] items-center justify-center border text-fs-14 font-semibold hover:text-brand-blue" style="color:#3F4C64; border-color:#D9DEE5" data-mobile-close data-astro-cid-q5zgq34x> 103Sign In 104</a> </div> </div> <nav class="flex-1 overflow-y-auto px-2 pb-6" aria-label="Mobile primary" data-astro-cid-q5zgq34x> <a href="https://app.dataquest.io/dashboard" class="state-logged-in block px-3 py-3 text-fs-16 font-semibold text-brand-ink-soft hover:bg-brand-surface" data-mobile-close data-astro-cid-q5zgq34x>Dashboard</a> <a href="https://app.dataquest.io/learning/path" class="state-logged-in block px-3 py-3 text-fs-16 font-semibold text-brand-ink-soft hover:bg-brand-surface" data-mobile-close data-astro-cid-q5zgq34x>Learning path</a> <details class="group border-b border-brand-rule/60" data-astro-cid-q5zgq34x> <summary class="flex cursor-pointer list-none items-center justify-between px-3 py-3 text-fs-16 font-semibold text-brand-ink-soft hover:bg-brand-surface" data-astro-cid-q5zgq34x> <span data-astro-cid-q5zgq34x>Catalog</span> <svg class="transition-transform duration-200 group-open:rotate-180" width="16" height="16" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-q5zgq34x> <polyline points="5 8 10 13 15 8" data-astro-cid-q5zgq34x></polyline> </svg> </summary> <div class="pb-3 pl-3" data-astro-cid-q5zgq34x> <a href="/catalog/" class="block px-3 py-2 text-fs-14 font-semibold text-brand-blue hover:underline" data-mobile-close data-astro-cid-q5zgq34x> 105All catalog â 106</a> <div class="mt-2" data-astro-cid-q5zgq34x> <div class="px-3 pb-1 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink/55" data-astro-cid-q5zgq34x>Career Paths</div> <ul data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/path/ai-engineering/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>AI Engineering</span> <span class="bg-brand-warn px-1.5 py-px text-[10px] font-semibold uppercase tracking-[.06em] text-brand-ink-soft" data-astro-cid-q5zgq34x>New</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/data-scientist/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Data Science</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/data-engineer/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Data Engineering</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/data-analyst/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Data Analytics</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/business-analyst-with-power-bi/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Business Analyst</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/data-analyst-r/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>R</span> </a> </li> </ul> </div><div class="mt-2" data-astro-cid-q5zgq34x> <div class="px-3 pb-1 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink/55" data-astro-cid-q5zgq34x>Skill Paths</div> <ul data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/path/sql-skills/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>SQL</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/learn-python/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Python</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/r-basics-for-data-analysis/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>R</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/analyzing-data-with-microsoft-power-bi-skill-path/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Power BI</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/path/machine-learning-in-python/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Machine Learning</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/catalog/cloud-computing-courses/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Cloud Computing</span> </a> </li> </ul> </div><div class="mt-2" data-astro-cid-q5zgq34x> <div class="px-3 pb-1 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink/55" data-astro-cid-q5zgq34x>Courses</div> <ul data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/catalog/ai-courses/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>AI Courses</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/catalog/data-science-courses/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Data Science Courses</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/catalog/data-analysis-courses/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Analytics Courses</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/catalog/sql-courses/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>SQL Courses</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/catalog/r-courses/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>R Courses</span> </a> </li> </ul> </div><div class="mt-2" data-astro-cid-q5zgq34x> <div class="px-3 pb-1 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink/55" data-astro-cid-q5zgq34x>Projects</div> <ul data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/blog/python-projects-for-beginners/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Python Projects</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/sql-projects/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>SQL Projects</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/data-science-projects-for-beginners-to-advanced/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Data Science Projects</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/machine-learning-projects-for-beginners-to-advanced/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Machine Learning Projects</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/r-projects-for-beginners-with-source-code/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>R Projects</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/power-bi-project-ideas-to-build-your-portfolio/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Power BI Projects</span> </a> </li> </ul> </div> </div> </details>
106<details class="group border-b border-brand-rule/60" data-astro-cid-q5zgq34x> <summary class="flex cursor-pointer list-none items-center justify-between px-3 py-3 text-fs-16 font-semibold text-brand-ink-soft hover:bg-brand-surface" data-astro-cid-q5zgq34x> <span data-astro-cid-q5zgq34x>Resources</span> <svg class="transition-transform duration-200 group-open:rotate-180" width="16" height="16" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-astro-cid-q5zgq34x> <polyline points="5 8 10 13 15 8" data-astro-cid-q5zgq34x></polyline> </svg> </summary> <div class="pb-3 pl-3" data-astro-cid-q5zgq34x> <a href="/blog/" class="block px-3 py-2 text-fs-14 font-semibold text-brand-blue hover:underline" data-mobile-close data-astro-cid-q5zgq34x> 107All resources â 108</a> <div class="mt-2" data-astro-cid-q5zgq34x> <div class="px-3 pb-1 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink/55" data-astro-cid-q5zgq34x>Topics</div> <ul data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/blog/topics/python-tutorials/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Python</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/topics/r-tutorials/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>R</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/topics/machine-learning-tutorials/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Machine Learning</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/topics/sql-tutorials/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>SQL</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/topics/power-bi-tutorials/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Power BI</span> </a> </li> </ul> </div><div class="mt-2" data-astro-cid-q5zgq34x> <div class="px-3 pb-1 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink/55" data-astro-cid-q5zgq34x>Tutorials</div> <ul data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/guide/python-tutorial/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Python Tutorial</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/guide/sql-tutorial/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>SQL Tutorial</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/guide/numpy-pandas-and-data-visualization-tutorial/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>NumPy Tutorial</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/guide/data-cleaning-in-python-tutorial/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Data Cleaning</span> </a> </li> </ul> </div><div class="mt-2" data-astro-cid-q5zgq34x> <div class="px-3 pb-1 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink/55" data-astro-cid-q5zgq34x>Cheat Sheets</div> <ul data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/cheat-sheet/python-cheat-sheet/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Python</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/cheat-sheet/command-line-git-cheat-sheet/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Command Line</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/cheat-sheet/sql-cheat-sheet/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>SQL</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/cheat-sheet/regular-expressions-cheat-sheet/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Regex</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/cheat-sheet/matplotlib-cheat-sheet/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>MatPlotLib</span> </a> </li> </ul> </div><div class="mt-2" data-astro-cid-q5zgq34x> <div class="px-3 pb-1 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink/55" data-astro-cid-q5zgq34x>More</div> <ul data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/blog/learn-python-the-right-way/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>How to Learn Python</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/dqdl/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Newsletters</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/learner-stories/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Learner Stories</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/data-science-jobs/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Jobs</span> </a> </li> </ul> </div><div class="mt-2" data-astro-cid-q5zgq34x> <div class="px-3 pb-1 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink/55" data-astro-cid-q5zgq34x>New</div> <ul data-astro-cid-q5zgq34x> <li data-astro-cid-q5zgq34x> <a href="/blog/data-analyst-resume/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>How to Write a Data Analyst Resume That Gets Interviews</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/python-for-ai/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>Python for AI in 2026: What You Need to Learn (and What You Can Skip)</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/how-to-become-a-data-engineer/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>
108How to Become a Data Engineer in 2026</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/how-to-become-a-machine-learning-engineer/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>How to Become a Machine Learning Engineer in 2026</span> </a> </li><li data-astro-cid-q5zgq34x> <a href="/blog/computer-vision-projects/" class="flex items-center gap-2 px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x> <span class="flex-1" data-astro-cid-q5zgq34x>30 Computer Vision Projects for Every Skill Level</span> </a> </li> </ul> </div> </div> </details><a href="/for-business/" class="block border-b border-brand-rule/60 px-3 py-3 text-fs-16 font-semibold text-brand-ink-soft hover:bg-brand-surface" data-mobile-close data-astro-cid-q5zgq34x> For Business </a><a href="/academic-discounts/" class="block border-b border-brand-rule/60 px-3 py-3 text-fs-16 font-semibold text-brand-ink-soft hover:bg-brand-surface" data-mobile-close data-astro-cid-q5zgq34x> For Education </a> <div class="state-logged-in mt-4 border-t border-brand-rule pt-2" data-astro-cid-q5zgq34x> <div class="px-3 pb-1 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink/55" data-astro-cid-q5zgq34x>Account</div> <a href="https://app.dataquest.io/profile/" class="block px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x>Profile</a><a href="https://app.dataquest.io/settings/account" class="block px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x>Account</a><a href="https://app.dataquest.io/settings/subscription" class="block px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x>Subscription</a><a href="/for-business/" class="block px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x>Teams</a><a href="https://help.dataquest.io/" class="block px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x>Help</a><a href="https://app.dataquest.io/accounts/logout/" class="block px-3 py-2 text-fs-14 text-brand-ink-soft hover:bg-brand-surface hover:text-brand-blue" data-mobile-close data-astro-cid-q5zgq34x>Logout</a> </div> </nav> </div> </div> </header>
108<script type="module">(()=>{const t=document.getElementById("site-header");if(!t)return;const a=Array.from(t.querySelectorAll("[data-mega-trigger]")),s=Array.from(t.querySelectorAll("[data-mega-panel]")),o=document.getElementById("mega-backdrop");let n=null,l;const c=e=>{n=e,t.dataset.megaOpen=e===null?"false":"true",a.forEach((d,f)=>{const u=f===e;d.setAttribute("aria-expanded",String(u));const m=d.querySelector("[data-caret]");m&&(m.style.transform=u?"rotate(180deg)":"rotate(0deg)")}),s.forEach((d,f)=>{const u=f===e;d.classList.toggle("hidden",!u)}),o&&(e!==null&&(o.style.top=t.getBoundingClientRect().bottom+"px"),o.style.opacity=e===null?"0":"1",o.style.background=e===null?"rgba(0,0,0,0)":"rgba(35,42,61,0.18)",o.style.pointerEvents=e===null?"none":"auto")},i=()=>{l&&(window.clearTimeout(l),l=void 0)},r=(e=120)=>{i(),l=window.setTimeout(()=>c(null),e)};a.forEach((e,d)=>{e.addEventListener("mouseenter",()=>{i(),c(d)}),e.addEventListener("focus",()=>{i(),c(d)}),e.addEventListener("mouseleave",()=>r())}),s.forEach(e=>{e.addEventListener("mouseenter",i),e.addEventListener("mouseleave",()=>r())}),document.addEventListener("click",e=>{if(n===null)return;const d=e.target;t.contains(d)||c(null)}),o?.addEventListener("click",()=>c(null)),document.addEventListener("keydown",e=>{e.key==="Escape"&&n!==null&&(c(null),a[n]?.focus())})})();(()=>{const t=document.querySelector("[data-profile-menu]");if(!t)return;const a=t.querySelector("[data-profile-trigger]"),s=t.querySelector("[data-profile-panel]");if(!a||!s)return;const o=n=>{s.classList.toggle("hidden",!n),a.setAttribute("aria-expanded",String(n))};a.addEventListener("click",n=>{n.stopPropagation(),o(s.classList.contains("hidden"))}),document.addEventListener("click",n=>{t.contains(n.target)||o(!1)}),document.addEventListener("keydown",n=>{n.key==="Escape"&&(o(!1),a.focus())})})();(()=>{const t=document.getElementById("site-header");if(!t)return;const a=t.querySelector("[data-mobile-trigger]"),s=t.querySelector("[data-mobile-panel]");if(!a||!s)return;const o=s.querySelector("[data-mobile-backdrop]"),n=Array.from(s.querySelectorAll("[data-mobile-close]")),l=r=>{t.dataset.mobileOpen=r?"true":"false",a.setAttribute("aria-expanded",String(r)),s.setAttribute("aria-hidden",String(!r)),document.body.style.overflow=r?"hidden":"",r?s.querySelector("button[data-mobile-close]")?.focus():a.focus()};a.addEventListener("click",()=>l(t.dataset.mobileOpen!=="true")),o?.addEventListener("click",()=>l(!1)),n.forEach(r=>r.addEventListener("click",()=>l(!1))),document.addEventListener("keydown",r=>{r.key==="Escape"&&t.dataset.mobileOpen==="true"&&l(!1)});const c=window.matchMedia("(min-width: 768px)"),i=r=>{r.matches&&l(!1)};c.addEventListener?c.addEventListener("change",i):c.addListener(i)})();</script>
108 <main class="flex-1" data-pagefind-body> <section id="home-hero" class="relative overflow-hidden bg-white"> <div class="mx-auto flex max-w-container flex-col items-center gap-12 px-5 py-[80px] lg:flex-row lg:gap-12 lg:px-12"> <div class="lg:basis-[52%]"> <span class="inline-flex items-center bg-brand-pink/10 px-3 py-1 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink"> Trusted by 1M+ learners </span> <h1 class="mt-4 text-fs-40 font-semibold leading-tight text-brand-ink-soft lg:text-fs-56"> Learn Data & AI Skills </h1> <p class="mt-6 max-w-[500px] text-fs-18 leading-relaxed text-brand-ink/80">Learn Python, SQL, Data Analytics, AI Engineering and more through hands-on practice, real-world projects, and career paths built for the job market.</p> <div class="mt-7 flex flex-wrap items-center gap-3"> <a href="https://app.dataquest.io/signup" class="inline-flex min-h-[50px] items-center justify-center bg-brand-blue px-9 py-3 text-fs-16 font-semibold text-white transition hover:bg-brand-blue-hover"> Start Learning for Free â 109</a> <span class="text-fs-12 text-brand-ink/60">No credit card required</span> </div> <div class="mt-6 flex flex-wrap gap-[6px]"> <a href="/path/data-scientist/" class="inline-block border border-brand-rule bg-brand-surface px-4 py-1.5 text-fs-14 font-semibold text-brand-ink/60 no-underline transition hover:border-brand-blue hover:bg-white hover:text-brand-blue"> Data Science </a><a href="/path/sql-skills/" class="inline-block border border-brand-rule bg-brand-surface px-4 py-1.5 text-fs-14 font-semibold text-brand-ink/60 no-underline transition hover:border-brand-blue hover:bg-white hover:text-brand-blue"> SQL </a><a href="/path/data-engineer/" class="inline-block border border-brand-rule bg-brand-surface px-4 py-1.5 text-fs-14 font-semibold text-brand-ink/60 no-underline transition hover:border-brand-blue hover:bg-white hover:text-brand-blue"> Data Engineering </a><a href="/path/ai-engineer/" class="inline-block border border-brand-rule bg-brand-surface px-4 py-1.5 text-fs-14 font-semibold text-brand-ink/60 no-underline transition hover:border-brand-blue hover:bg-white hover:text-brand-blue"> AI Engineering </a><a href="/path/r-basics-for-data-analysis/" class="inline-block border border-brand-rule bg-brand-surface px-4 py-1.5 text-fs-14 font-semibold text-brand-ink/60 no-underline transition hover:border-brand-blue hover:bg-white hover:text-brand-blue"> R </a><a href="/path/data-analyst/" class="inline-block border border-brand-rule bg-brand-surface px-4 py-1.5 text-fs-14 font-semibold text-brand-ink/60 no-underline transition hover:border-brand-blue hover:bg-white hover:text-brand-blue"> Data Analysis </a> </div> </div> <div class="flex flex-1 items-center justify-center"> <div class="relative mx-auto" style="width:340px" data-career-carousel> <div class="pointer-events-none absolute left-1/2 top-[40%] -translate-x-1/2 -translate-y-1/2" style="width:200px; height:200px; filter:blur(60px); opacity:0.07; background:#9B51E0" data-glow></div> <div class="relative" style="width:340px; height:240px"> <div class="career-card absolute left-0 top-0 box-border h-[240px] w-full cursor-pointer overflow-hidden bg-white" style="padding:24px 28px; border:2px solid #24A871; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.5s; box-shadow:0 8px 24px #24A87125, 0 2px 8px rgba(0,0,0,0.08)" data-idx="0" data-color="#24A871"> <div class="absolute left-0 right-0 top-0 h-[3px]" style="background:#24A871"></div> <div class="absolute right-3 top-[10px] text-[9px] font-semibold uppercase tracking-[.05em]" style="background:#F7E08E; color:#232A3D; padding:2px 8px">New</div> <div class="mb-[14px] inline-flex gap-[6px]"> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#24A87114; color:#24A871; padding:3px 10px">24 Courses</span> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#24A87114; color:#24A871; padding:3px 10px">16 Projects</span> </div> <div class="mb-[6px] text-[20px] font-semibold leading-[1.2]" style="color:#232A3D">AI Engineer</div> <div class="mb-[18px] text-[12px]" style="color:#607390">Python · LLMs · RAG · FastAPI · Docker</div> <div class="flex justify-between"> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Timeline</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">9â12 months</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Salary</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#24A871">$145K</div> <div class="mt-[1px] text-[8px]" style="color:#7D8FA8">BLS 2026</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Learners</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">123K+</div> </div> </div> <a href="/path/ai-engineer/" target="_blank" rel="noopener noreferrer" class="career-card-cta absolute bottom-[
10916px] right-[20px] text-[12px] font-semibold no-underline" style="color:#1F69FF" onclick="event.stopPropagation()">View career path â</a> </div><div class="career-card absolute left-0 top-0 box-border h-[240px] w-full cursor-pointer overflow-hidden bg-white" style="padding:24px 28px; border:2px solid #D9DEE5; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.5s; box-shadow:0 2px 6px rgba(35,42,61,0.08)" data-idx="1" data-color="#9B51E0"> <div class="absolute left-0 right-0 top-0 h-[3px]" style="background:#9B51E0"></div> <div class="mb-[14px] inline-flex gap-[6px]"> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#9B51E014; color:#9B51E0; padding:3px 10px">38 Courses</span> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#9B51E014; color:#9B51E0; padding:3px 10px">27 Projects</span> </div> <div class="mb-[6px] text-[20px] font-semibold leading-[1.2]" style="color:#232A3D">Data Scientist</div> <div class="mb-[18px] text-[12px]" style="color:#607390">Python · ML · Statistics · Git</div> <div class="flex justify-between"> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Timeline</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">11 months</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Salary</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#9B51E0">$145K</div> <div class="mt-[1px] text-[8px]" style="color:#7D8FA8">Glassdoor Jan 2026</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Learners</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">442K+</div> </div> </div> <a href="/path/data-scientist/" target="_blank" rel="noopener noreferrer" class="career-card-cta absolute bottom-[16px] right-[20px] text-[12px] font-semibold no-underline" style="color:#1F69FF" onclick="event.stopPropagation()">View career path â</a> </div><div class="career-card absolute left-0 top-0 box-border h-[240px] w-full cursor-pointer overflow-hidden bg-white" style="padding:24px 28px; border:2px solid #D9DEE5; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.5s; box-shadow:0 2px 6px rgba(35,42,61,0.08)" data-idx="2" data-color="#1F69FF"> <div class="absolute left-0 right-0 top-0 h-[3px]" style="background:#1F69FF"></div> <div class="mb-[14px] inline-flex gap-[6px]"> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#1F69FF14; color:#1F69FF; padding:3px 10px">27 Courses</span> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#1F69FF14; color:#1F69FF; padding:3px 10px">19 Projects</span> </div> <div class="mb-[6px] text-[20px] font-semibold leading-[1.2]" style="color:#232A3D">Data Analyst</div> <div class="mb-[18px] text-[12px]" style="color:#607390">Python · SQL · Pandas · Tableau</div> <div class="flex justify-between"> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Timeline</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">8 months</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Salary</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#1F69FF">$108K</div> <div class="mt-[1px] text-[8px]" style="color:#7D8FA8">Glassdoor Jan 2026</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Learners</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">432K+</div> </div> </div> <a href="/path/data-analyst/" target="_blank" rel="noopener noreferrer" class="career-card-cta absolute bottom-[16px] right-[20px] text-[12px] font-semibold no-underline" style="color:#1F69FF" onclick="event.stopPropagation()">View career path â</a> </div><div class="career-card absolute left-0 top-0 box-border h-[240px] w-full cursor-pointer overflow-hidden bg-white" style="padding:24px 28px; border:2px solid #D9DEE5; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.5s; box-shadow:0 2px 6px rgba(35,42,61,0.08)" data-idx="3" data-color="#3F4C64"> <div class="absolute left-0 right-0 top-0 h-[3px]" style="background:#3F4C64"></div> <div class="mb-[14px] inline-flex gap-[6px]"> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#3F4C6414; color:#3F4C64; padding:3px 10px">
1094 Courses</span> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#3F4C6414; color:#3F4C64; padding:3px 10px">3 Projects</span> </div> <div class="mb-[6px] text-[20px] font-semibold leading-[1.2]" style="color:#232A3D">Python</div> <div class="mb-[18px] text-[12px]" style="color:#607390">Python · Jupyter · pandas · NumPy</div> <div class="flex justify-between"> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Timeline</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">2 months</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Level</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">Beginner</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Learners</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">335K+</div> </div> </div> <a href="/path/python-basics-for-data-analysis/" target="_blank" rel="noopener noreferrer" class="career-card-cta absolute bottom-[16px] right-[20px] text-[12px] font-semibold no-underline" style="color:#1F69FF" onclick="event.stopPropagation()">View skill path â</a> </div><div class="career-card absolute left-0 top-0 box-border h-[240px] w-full cursor-pointer overflow-hidden bg-white" style="padding:24px 28px; border:2px solid #D9DEE5; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.5s; box-shadow:0 2px 6px rgba(35,42,61,0.08)" data-idx="4" data-color="#1F69FF"> <div class="absolute left-0 right-0 top-0 h-[3px]" style="background:#1F69FF"></div> <div class="mb-[14px] inline-flex gap-[6px]"> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#1F69FF14; color:#1F69FF; padding:3px 10px">5 Courses</span> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#1F69FF14; color:#1F69FF; padding:3px 10px">3 Projects</span> </div> <div class="mb-[6px] text-[20px] font-semibold leading-[1.2]" style="color:#232A3D">SQL</div> <div class="mb-[18px] text-[12px]" style="color:#607390">SQL · SQLite · PostgreSQL</div> <div class="flex justify-between"> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Timeline</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">2 months</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Level</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">Beginner</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Learners</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">52K+</div> </div> </div> <a href="/path/sql-skills/" target="_blank" rel="noopener noreferrer" class="career-card-cta absolute bottom-[16px] right-[20px] text-[12px] font-semibold no-underline" style="color:#1F69FF" onclick="event.stopPropagation()">View skill path â</a> </div><div class="career-card absolute left-0 top-0 box-border h-[240px] w-full cursor-pointer overflow-hidden bg-white" style="padding:24px 28px; border:2px solid #D9DEE5; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.5s; box-shadow:0 2px 6px rgba(35,42,61,0.08)" data-idx="5" data-color="#9B51E0"> <div class="absolute left-0 right-0 top-0 h-[3px]" style="background:#9B51E0"></div> <div class="mb-[14px] inline-flex gap-[6px]"> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#9B51E014; color:#9B51E0; padding:3px 10px">7 Courses</span> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#9B51E014; color:#9B51E0; padding:3px 10px">7 Projects</span> </div> <div class="mb-[6px] text-[20px] font-semibold leading-[1.2]" style="color:#232A3D">Machine Learning</div> <div class="mb-[18px] text-[12px]" style="color:#607390">Python · scikit-learn · pandas</div> <div class="flex justify-between"> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Timeline</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">2 months</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Level</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">Intermediate</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Learners</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">16K+</div> </div> </div> <a href="/path/machine-learning-in-python/" target="_blank" rel="noopener noreferrer" class="career-card-cta absolute bottom-[
10916px] right-[20px] text-[12px] font-semibold no-underline" style="color:#1F69FF" onclick="event.stopPropagation()">View skill path â</a> </div><div class="career-card absolute left-0 top-0 box-border h-[240px] w-full cursor-pointer overflow-hidden bg-white" style="padding:24px 28px; border:2px solid #D9DEE5; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.5s; box-shadow:0 2px 6px rgba(35,42,61,0.08)" data-idx="6" data-color="#3F4C64"> <div class="absolute left-0 right-0 top-0 h-[3px]" style="background:#3F4C64"></div> <div class="mb-[14px] inline-flex gap-[6px]"> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#3F4C6414; color:#3F4C64; padding:3px 10px">4 Courses</span> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#3F4C6414; color:#3F4C64; padding:3px 10px">3 Projects</span> </div> <div class="mb-[6px] text-[20px] font-semibold leading-[1.2]" style="color:#232A3D">R</div> <div class="mb-[18px] text-[12px]" style="color:#607390">R · RStudio · tidyverse</div> <div class="flex justify-between"> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Timeline</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">1 month</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Level</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">Beginner</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Learners</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">52K+</div> </div> </div> <a href="/path/r-basics-for-data-analysis/" target="_blank" rel="noopener noreferrer" class="career-card-cta absolute bottom-[16px] right-[20px] text-[12px] font-semibold no-underline" style="color:#1F69FF" onclick="event.stopPropagation()">View skill path â</a> </div><div class="career-card absolute left-0 top-0 box-border h-[240px] w-full cursor-pointer overflow-hidden bg-white" style="padding:24px 28px; border:2px solid #D9DEE5; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.5s; box-shadow:0 2px 6px rgba(35,42,61,0.08)" data-idx="7" data-color="#24A871"> <div class="absolute left-0 right-0 top-0 h-[3px]" style="background:#24A871"></div> <div class="mb-[14px] inline-flex gap-[6px]"> <span class="text-[10px] font-semibold uppercase tracking-[.04em]" style="background:#24A87114; color:#24A871; padding:3px 10px">6 Lessons</span> </div> <div class="mb-[6px] text-[20px] font-semibold leading-[1.2]" style="color:#232A3D">Cloud Computing</div> <div class="mb-[18px] text-[12px]" style="color:#607390">AWS · Docker · Airflow · S3</div> <div class="flex justify-between"> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Timeline</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">12 hours</div> </div> <div> <div class="mb-[3px] whitespace-nowrap text-[9px] font-semibold uppercase tracking-[.06em]" style="color:#7D8FA8">Level</div> <div class="text-[14px] font-semibold leading-[1.2]" style="color:#232A3D">Intermediate</div> </div> </div> <a href="/course/introduction-to-cloud-computing/" target="_blank" rel="noopener noreferrer" class="career-card-cta absolute bottom-[16px] right-[20px] text-[12px] font-semibold no-underline" style="color:#1F69FF" onclick="event.stopPropagation()">View course â</a> </div> </div> <div class="mt-[18px] flex justify-center gap-[7px]" data-dots> <button class="cursor-pointer border-0" style="padding:9px 5px; background:transparent; line-height:0" data-dot="0" data-color="#24A871" aria-label="Go to slide 1"> <span class="dot-visual block" style="width:22px; height:6px; background:#24A871"></span> </button><button class="cursor-pointer border-0" style="padding:9px 5px; background:transparent; line-height:0" data-dot="1" data-color="#9B51E0" aria-label="Go to slide 2"> <span class="dot-visual block" style="width:6px; height:6px; background:#D9DEE5"></span> </button><button class="cursor-pointer border-0" style="padding:9px 5px; background:transparent; line-height:0" data-dot="2" data-color="#1F69FF" aria-label="Go to slide 3"> <span class="dot-visual block" style="width:6px; height:6px; background:#D9DEE5"></span> </button><button class="cursor-pointer border-0" style="padding:9px 5px; background:transparent; line-height:0" data-dot="3" data-color="#3F4C64" aria-label="Go to slide 4"> <span class="dot-visual block" style="width:6px; height:6px; background:#D9DEE5"></span> </button><button class="cursor-pointer border-0" style="padding:9px 5px; background:transparent; line-height:0" data-dot="4" data-color="#1F69FF" aria-label="Go to slide 5"> <span class="dot-visual block" style="width:6px; height:6px; background:#D9DEE5"></span> </button><button class="cursor-pointer border-0" style="padding:9px 5px; background:transparent; line-height:0" data-dot="5" data-color="#9B51E0" aria-label="Go to slide 6"> <span class="dot-visual block" style="width:6px; height:6px; background:#D9DEE5"></span> </button><button class="cursor-pointer border-0" style="padding:9px 5px; background:transparent; line-height:0" data-dot="6" data-color="#3F4C64" aria-label="Go to slide 7"> <span class="dot-visual block" style="width:6px; height:6px; background:#D9DEE5"></span> </button><button class="cursor-pointer border-0" style="padding:9px 5px; background:transparent; line-height:0" data-dot="7" data-color="#24A871" aria-label="Go to slide 8"> <span class="dot-visual block" style="width:6px; height:6px; background:#D9DEE5"></span> </button> </div> </div>
109<script type="module">const w=()=>{document.querySelectorAll("[data-career-carousel]").forEach(i=>{const l=Array.from(i.querySelectorAll(".career-card")),y=Array.from(i.querySelectorAll("[data-dot]")),f=i.querySelector("[data-glow]"),s=l.length;let a=0,u;const d=()=>{l.forEach((t,r)=>{let o=r-a;o<-s/2&&(o+=s),o>s/2&&(o-=s);const e=o===0,c=Math.abs(o)===1,n=Math.abs(o)===2,h=e?0:o<0?c?-50:n?-76:-86:c?50:n?76:86,S=e?1:c?.88:n?.76:.66,b=e?1:c?.5:n?.2:0,v=e?10:c?5:n?2:0,x=t.dataset.color||"#1F69FF";t.style.transform=`translateX(${h}px) scale(${S})`,t.style.opacity=String(b),t.style.zIndex=String(v),t.style.borderColor=e?x:"#D9DEE5",t.style.boxShadow=e?`0 8px 24px ${x}25, 0 2px 8px rgba(0,0,0,0.08)`:"0 2px 6px rgba(35,42,61,0.08)",t.style.pointerEvents=e||c?"auto":"none";const g=t.querySelector(".career-card-cta");g&&(g.style.opacity=e?"1":"0")}),y.forEach((t,r)=>{const o=t.dataset.color||"#1F69FF",e=t.querySelector(".dot-visual");e&&(e.style.width=r===a?"22px":"6px",e.style.background=r===a?o:"#D9DEE5")}),f&&(f.style.background=l[a].dataset.color||"#9B51E0")},E=()=>{window.clearInterval(u),u=window.setInterval(()=>{a=(a+1)%s,d()},3400)},p=t=>{a=t,d(),E()};l.forEach((t,r)=>t.addEventListener("click",()=>p(r))),y.forEach((t,r)=>t.addEventListener("click",()=>p(r))),d(),E()})};document.addEventListener("DOMContentLoaded",w);</script>
109 </div> </div> </section> <section class="relative overflow-hidden" style="background:#232A3D" data-astro-cid-w6olbi4e> <div class="pointer-events-none absolute inset-0 overflow-hidden"> <svg class="absolute inset-0 h-full w-full" style="opacity:0.06" aria-hidden="true"> <line x1="8%" y1="0" x2="8%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="16%" y1="0" x2="16%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="24%" y1="0" x2="24%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="32%" y1="0" x2="32%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="40%" y1="0" x2="40%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="48%" y1="0" x2="48%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="56%" y1="0" x2="56%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="64%" y1="0" x2="64%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="72%" y1="0" x2="72%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="80%" y1="0" x2="80%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="88%" y1="0" x2="88%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="96%" y1="0" x2="96%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line> <line x1="0" y1="16%" x2="100%" y2="16%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="32%" x2="100%" y2="32%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="48%" x2="100%" y2="48%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="64%" x2="100%" y2="64%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="80%" x2="100%" y2="80%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="96%" x2="100%" y2="96%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line> </svg> <div class="absolute -top-[60px] -right-[40px] h-[300px] w-[300px] rotate-[12deg] border border-white/[.06] bg-white/[.015]"></div> <div class="absolute -bottom-[40px] -left-[30px] h-[200px] w-[200px] -rotate-[8deg] border border-white/[.04]" style="background: rgba(155,81,224,0.02)"></div> </div> <div class="relative z-[1] mx-auto max-w-container px-5 py-[56px] lg:px-12" data-astro-cid-w6olbi4e> <p class="mb-6 text-center text-fs-14 font-semibold text-white/75" data-astro-cid-w6olbi4e> Master the tools that hiring managers look for </p> <div class="mx-auto grid max-w-[1100px] grid-cols-2 gap-3 sm:grid-cols-4 lg:grid-cols-8 lg:gap-4" data-astro-cid-w6olbi4e> <div class="flex h-[80px] items-center justify-center border p-4" style="background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.1)" data-astro-cid-w6olbi4e> <img src="/images/2026/05/logos/python.webp" alt="Python logo" title="Python" width="112" height="28" loading="lazy" decoding="async" fetchpriority="low" class="dq-logo-tile block max-h-[28px] max-w-full object-contain" data-astro-cid-w6olbi4e> </div><div class="flex h-[80px] items-center justify-center border p-4" style="background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.1)" data-astro-cid-w6olbi4e> <img src="/images/2026/05/logos/r.webp" alt="R logo" title="R" width="112" height="28" loading="lazy" decoding="async" fetchpriority="low" class="dq-logo-tile block max-h-[28px] max-w-full object-contain" data-astro-cid-w6olbi4e> </div><div class="flex h-[80px] items-center justify-center border p-4" style="background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.1)" data-astro-cid-w6olbi4e> <img src="/images/2026/05/logos/sql.webp" alt="SQL logo" title="SQL" width="112" height="28" loading="lazy" decoding="async" fetchpriority="low" class="dq-logo-tile block max-h-[28px] max-w-full object-contain" data-astro-cid-w6olbi4e> </div><div class="flex h-[80px] items-center justify-center border p-4" style="background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.1)" data-astro-cid-w6olbi4e> <img src="/images/2026/05/logos/chatgpt.webp" alt="ChatGPT logo" title="ChatGPT" width="112" height="28" loading="lazy" decoding="async" fetchpriority="low" class="dq-logo-tile block max-h-[28px] max-w-full object-contain" data-astro-cid-w6olbi4e> </div><div class="flex h-[80px] items-center justify-center border p-4" style="background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.1)" data-astro-cid-w6olbi4e> <img src="/images/2026/05/logos/powerbi.webp" alt="Power BI logo" title="Power BI" width="112" height="28" loading="lazy" decoding="async" fetchpriority="low" class="dq-logo-tile block max-h-[28px] max-w-full object-contain" data-astro-cid-w6olbi4e> </div><div class="flex h-[80px] items-center justify-center border p-4" style="background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.1)" data-astro-cid-w6olbi4e> <img src="/images/2026/05/logos/excel.webp" alt="Excel logo" title="Excel" width="112" height="28" loading="lazy" decoding="async" fetchpriority="low" class="dq-logo-tile block max-h-[28px] max-w-full object-contain" data-astro-cid-w6olbi4e> </div><div class="flex h-[80px] items-center justify-center border p-4" style="background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.1)" data-astro-cid-w6olbi4e> <img src="/images/2026/05/logos/snowflake.webp" alt="Snowflake logo" title="Snowflake" width="112" height="28" loading="lazy" decoding="async" fetchpriority="low" class="dq-logo-tile block max-h-[28px] max-w-full object-contain" data-astro-cid-w6olbi4e> </div><div class="flex h-[80px] items-center justify-center border p-4" style="background:rgba(255,255,255,0.05); border-color:rgba(255,255,255,0.1)" data-astro-cid-w6olbi4e> <img src="/images/2026/05/logos/git.webp" alt="Git logo" title="Git" width="112" height="28" loading="lazy" decoding="async" fetchpriority="low" class="dq-logo-tile block max-h-[28px] max-w-full object-contain" data-astro-cid-w6olbi4e> </div> </div> </div> </section> <section style="background:#F7F8FF"> <div class="mx-auto flex max-w-container flex-col items-center gap-10 px-5 py-[80px] lg:flex-row lg:px-12"> <div class="lg:basis-[55%]"> <span class="inline-flex items-center bg-brand-pink/10 px-3 py-1 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">
109 For Teams </span> <h2 class="mt-4 text-fs-34 font-bold leading-tight text-brand-ink-soft">Upskill your team on data and AI</h2> <p class="mt-3 mb-8 max-w-[440px] text-fs-16 leading-relaxed text-brand-ink/75">Give your team structured learning paths, track their progress, and build data literacy across your organization. Flexible plans for teams of any size.</p> <div class="flex flex-wrap gap-[10px]"> <a href="/for-business/" class="inline-flex h-[38px] items-center px-[22px] text-[14px] font-semibold text-white" style="background:#1F69FF">For Business â</a><a href="/academic-discounts/" class="inline-flex h-[38px] items-center border bg-white px-[22px] text-[14px] font-semibold" style="color:#3F4C64; border-color:#3F4C64">For Educators â</a> </div> </div> <div class="flex-1"> <div class="grid grid-cols-3 gap-4"> <div class="flex h-[110px] items-center justify-center border border-brand-rule bg-white p-5"> <img src="/images/2026/05/logos/optum.webp" alt="Optum" width="125" height="42" loading="lazy" decoding="async" fetchpriority="low" class="block max-h-[42px] max-w-full object-contain"> </div><div class="flex h-[110px] items-center justify-center border border-brand-rule bg-white p-5"> <img src="/images/2026/05/logos/amazon.webp" alt="Amazon" width="125" height="42" loading="lazy" decoding="async" fetchpriority="low" class="block max-h-[42px] max-w-full object-contain"> </div><div class="flex h-[110px] items-center justify-center border border-brand-rule bg-white p-5"> <img src="/images/2026/05/logos/nih.webp" alt="NIH" width="125" height="42" loading="lazy" decoding="async" fetchpriority="low" class="block max-h-[42px] max-w-full object-contain"> </div><div class="flex h-[110px] items-center justify-center border border-brand-rule bg-white p-5"> <img src="/images/2026/05/logos/u-chicago.webp" alt="U. Chicago" width="125" height="42" loading="lazy" decoding="async" fetchpriority="low" class="block max-h-[42px] max-w-full object-contain"> </div><div class="flex h-[110px] items-center justify-center border border-brand-rule bg-white p-5"> <img src="/images/2026/05/logos/deloitte.webp" alt="Deloitte" width="125" height="42" loading="lazy" decoding="async" fetchpriority="low" class="block max-h-[42px] max-w-full object-contain"> </div><div class="flex h-[110px] items-center justify-center border border-brand-rule bg-white p-5"> <img src="/images/2026/05/logos/northwestern.webp" alt="Northwestern" width="125" height="42" loading="lazy" decoding="async" fetchpriority="low" class="block max-h-[42px] max-w-full object-contain"> </div> </div> </div> </div> </section> <section class="bg-white"> <div class="mx-auto max-w-container px-5 py-[64px] lg:px-12"> <div class="mb-10 text-center"> <h2 class="text-fs-34 font-bold leading-tight text-brand-ink-soft">How Dataquest works</h2> <p class="mx-auto mt-3 max-w-[480px] text-fs-16 leading-relaxed text-brand-ink/75">A learning experience designed around doing, not watching. Here's what makes it different.</p> </div> <div class="mb-9 flex" style="border-bottom:2px solid #D9DEE5" data-howit-tabs> <button class="flex-1 cursor-pointer border-0 bg-transparent text-center text-[12px]" style="padding:14px 8px; transition:all 0.15s; margin-bottom:-2px; color:#1F69FF; font-weight:600; border-bottom:2.5px solid #1F69FF" data-howit-tab="0"> <span class="mb-[2px] block text-[10px] uppercase tracking-[.08em] opacity-50">01</span> Real data </button><button class="flex-1 cursor-pointer border-0 bg-transparent text-center text-[12px]" style="padding:14px 8px; transition:all 0.15s; margin-bottom:-2px; color:#7D8FA8; font-weight:400; border-bottom:2.5px solid transparent" data-howit-tab="1"> <span class="mb-[2px] block text-[10px] uppercase tracking-[.08em] opacity-50">02</span> No gaps </button><button class="flex-1 cursor-pointer border-0 bg-transparent text-center text-[12px]" style="padding:14px 8px; transition:all 0.15s; margin-bottom:-2px; color:#7D8FA8; font-weight:400; border-bottom:2.5px solid transparent" data-howit-tab="2"> <span class="mb-[2px] block text-[10px] uppercase tracking-[.08em] opacity-50">03</span> AI-assisted learning </button><button class="flex-1 cursor-pointer border-0 bg-transparent text-center text-[12px]" style="padding:14px 8px; transition:all 0.15s; margin-bottom:-2px; color:#7D8FA8; font-weight:400; border-bottom:2.5px solid transparent" data-howit-tab="3"> <span class="mb-[2px] block text-[10px] uppercase tracking-[.08em] opacity-50">04</span> Guided projects </button><button class="flex-1 cursor-pointer border-0 bg-transparent text-center text-[12px]" style="padding:14px 8px; transition:all 0.15s; margin-bottom:-2px; color:#7D8FA8; font-weight:400; border-bottom:2.5px solid transparent" data-howit-tab="4"> <span class="mb-[2px] block text-[10px] uppercase tracking-[.08em] opacity-50">05</span> Get certified </button> </div> <div class="lg:flex lg:items-center lg:gap-10" style="display:" data-howit-panel="0"> <div class="lg:basis-[45%]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Step 01</div> <h3 class="text-fs-22 font-semibold leading-tight text-brand-ink-soft">Real data. Real problems. From lesson one.</h3> <p class="mt-2 text-fs-14 font-semibold text-brand-pink">No videos. No setup. Just code.</p> <p class="mt-4 text-fs-16 leading-relaxed text-brand-ink/75">Open your browser and start writing Python or SQL against real datasets within minutes. Every lesson is interactive. You read a concept, then immediately apply it. No watching someone else code. No local environment to configure.</p> </div> <div class="mt-8 flex-1 lg:mt-0"> <!-- Hidden source code (preamble + visible) â text content fed in as a const 110 so Astro's JSX parser doesn't choke on `{â¦}` inside Python f-strings. --><textarea id="initial-code" class="hidden" aria-hidden="true">from pyodide.http import pyfetch 111from statistics import mean 112response = await pyfetch("https://dq-marketing-site.s3.amazonaws.com/f500.csv") 113if response.status == 200: 114 with open("f500.csv", "wb") as f: 115 f.write(await response.bytes()) 116revenues = [] 117with open("f500.csv", "r") as f: 118 rows = f.read().splitlines() 119for row in rows[1:]: 120 split_row = row.split(",") 121 revenues.append(int(split_row[2])) 122</textarea> <textarea id="display-code" class="hidden" aria-hidden="true"># Try a Dataquest exercise! 123# We loaded in the Fortune 500 list 124# Hit Run Code to show average revenue 125 126avg_revenue = mean(revenues) 127print(f"Average revenue: ${avg_revenue}M") 128</textarea> <!-- CodeMirror assets â `<noscript>` fallback only. The real loading 129 happens via the IntersectionObserver inside the inline script at 130 the bottom of this component: scripts + stylesheet are injected 131 when the editor element approaches the viewport. This removes 132 ~54 KB (CodeMirror JS + CSS) from the initial homepage download 133 for visitors who never scroll to "Real data. Real problems.", 134 and from every other page that doesn't render this asset. --> <noscript> <link rel="stylesheet" href="/vendor/codemirror/codemirror.min.css"> </noscript> <!-- min-height locks the slot to its final post-CodeMirror size (220px 135 editor + 45px output + 60px button bar = 325px). Without it, the 136 wrapper starts at ~120px and grows 220px when CodeMirror injects,
137 causing a layout shift below the editor. --> <div class="dq-editor relative overflow-hidden rounded-md border border-[#2c354b] bg-[#0f1422] shadow-[0_18px_42px_-18px_rgba(0,0,0,0.55)]" style="min-height:325px"> <!-- editor (CodeMirror replaces this textarea on load) --> <textarea id="code-editor" class="hidden"></textarea> <!-- run output --> <div class="bg-[#000] px-4 py-3 font-mono text-[13px] leading-[1.5] text-white"> <div id="code-output" class="min-h-[2.4em] whitespace-pre-wrap break-words text-white"> </div> </div> <!-- run button + sign-up nudge --> <div class="flex flex-wrap items-center justify-between gap-3 border-t border-[#2c354b] bg-[#161b2c] px-4 py-3"> <button id="run-code-button" type="button" class="inline-flex items-center gap-2 rounded-md bg-brand-blue px-4 py-2 text-fs-14 font-semibold text-white transition hover:bg-brand-blue-hover"> <span id="run-code-spinner" class="hidden h-3.5 w-3.5 animate-spin rounded-full border-2 border-white border-t-transparent" role="status" aria-hidden="true"></span> 138Run Code 139</button> <div id="code-run-message" class="hidden text-[13px] text-white/80"> 140Nice work! <a href="https://app.dataquest.io/signup" target="_blank" rel="noopener" class="font-semibold text-brand-blue hover:underline">Sign up</a> to keep learning. 141</div> </div> </div>
141<script> 142 // Verbatim port of the live theme's editor wiring, with two small changes: 143 // 1. Run Code button uses addEventListener instead of inline onclick (CSP-friendly). 144 // 2. CodeMirror initializes on its load event, but if the script's already 145 // cached and onload won't fire, we also re-check on DOMContentLoaded. 146 (function () { 147 let pyodide; 148 let editor; 149 let editorReady = false; 150 let pyodideLoaded = false; 151 let pyodideLoading = false; 152 153 const $ = (id) => document.getElementById(id); 154 155 const initial_code = $('initial-code')?.value || ''; 156 const display_code = $('display-code')?.value || ''; 157 158 const initEditor = () => { 159 if (editor || typeof window.CodeMirror === 'undefined') return; 160 const ta = $('code-editor'); 161 if (!ta) return; 162 editor = window.CodeMirror.fromTextArea(ta, { 163 mode: 'python', 164 lineNumbers: true, 165 lineWrapping: true, 166 readOnly: false, 167 indentUnit: 2, 168 tabSize: 2, 169 }); 170 editor.setValue(display_code.trim()); 171 const cmTextarea = editor.getWrapperElement().querySelector('textarea'); 172 if (cmTextarea) cmTextarea.setAttribute('aria-label', 'Python code editor'); 173 }; 174 175 const stdout = (output) => { 176 if (output && output.includes('Python initialization complete')) return; 177 const el = $('code-output'); 178 if (el) el.textContent = (output || '').trim() || ' '; 179 }; 180 const stderr = (output) => { 181 const el = $('code-output'); 182 if (el) el.innerHTML = '<span style="color:#f87171">' + (output || '').toString().replace(/[<>&]/g, c => ({'<':'<','>':'>','&':'&'}[c])) + '</span>'; 183 }; 184 185 const runPython = async () => { 186 const spinner = $('run-code-spinner'); 187 const message = $('code-run-message'); 188 try { 189 if (!editorReady) { 190 stdout('Python is loading, please try again in a momentâ¦'); 191 spinner?.classList.add('hidden'); 192 return; 193 } 194 stdout(''); 195 const code = editor ? editor.getValue() : ''; 196 await pyodide.runPythonAsync(code); 197 message?.classList.remove('hidden'); 198 } catch (e) { 199 stderr(e && e.message ? e.message : String(e)); 200 } finally { 201 spinner?.classList.add('hidden'); 202 } 203 }; 204 205 const loadPyodide = async () => { 206 pyodideLoading = true; 207 // Inject Pyodide script tag lazily â only on first Run Code click. 208 await new Promise((resolve, reject) => { 209 const tag = document.createElement('script'); 210 tag.src = 'https://cdn.jsdelivr.net/pyodide/v0.20.0/full/pyodide.js'; 211 tag.onload = resolve; 212 tag.onerror = reject; 213 document.head.appendChild(tag); 214 }); 215 pyodide = await window.loadPyodide({ stdout, stderr }); 216 await pyodide.runPythonAsync(initial_code); 217 editorReady = true; 218 pyodideLoaded = true; 219 pyodideLoading = false; 220 }; 221 222 const onRun = async () => { 223 const spinner = $('run-code-spinner'); 224 spinner?.classList.remove('hidden'); 225 if (pyodideLoading) return; // already in flight 226 if (!pyodideLoaded) { 227 try { 228 await loadPyodide(); 229 } catch (e) { 230 stderr('Failed to load Python runtime: ' + (e && e.message ? e.message : e)); 231 spinner?.classList.add('hidden'); 232 return; 233 } 234 } 235 runPython(); 236 }; 237 238 // ââ Lazy-load CodeMirror only when the editor approaches view ââ 239 // The editor lives in HowItWorksSection, well below the fold on 240 // mobile. Loading 50+ KB of third-party JS + 2 KB of CSS on every 241 // page view â even for visitors who never scroll to it â was 242 // costing us LCP on the simulated 4G mobile test. IntersectionObserver 243 // with a generous `rootMargin` triggers the injection a screen or 244 // two before the editor would actually become visible, giving 245 // CodeMirror time to download + initialize so the editor renders 246 // by the time it scrolls into view. 247 // 248 // Safari < 12 and old Edge lack IntersectionObserver; the 249 // `'IntersectionObserver' in window` guard falls back to eager 250 // load, matching the pre-change behaviour for legacy browsers.
251 let cmInjected = false; 252 const injectCodeMirror = () => { 253 if (cmInjected) return; 254 cmInjected = true; 255 // CSS first â link element is non-blocking. 256 const link = document.createElement('link'); 257 link.rel = 'stylesheet'; 258 link.href = '/vendor/codemirror/codemirror.min.css'; 259 document.head.appendChild(link); 260 // Core + Python mode bundled into one file â eliminates the 261 // core â mode chained request that was hitting cdnjs. 262 const core = document.createElement('script'); 263 core.src = '/vendor/codemirror/codemirror-python.min.js'; 264 core.onload = initEditor; 265 document.head.appendChild(core); 266 }; 267 268 const editorWrapper = document.querySelector('.dq-editor'); 269 if (editorWrapper && 'IntersectionObserver' in window) { 270 const io = new IntersectionObserver((entries) => { 271 if (entries.some(e => e.isIntersecting)) { 272 io.disconnect(); 273 injectCodeMirror(); 274 } 275 }, { 276 // ~1.5 viewport heights before the editor reaches the bottom 277 // edge â gives the bundle time to download before the user 278 // actually sees it. 279 rootMargin: '150% 0px 150% 0px', 280 }); 281 io.observe(editorWrapper); 282 } else { 283 // Legacy browser or no editor element on this page â eager load. 284 injectCodeMirror(); 285 } 286 287 // Run Code button 288 document.getElementById('run-code-button')?.addEventListener('click', onRun); 289 })(); 290</script>
290 </div> </div><div class="lg:flex lg:items-center lg:gap-10" style="display:none" data-howit-panel="1"> <div class="lg:basis-[45%]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Step 02</div> <h3 class="text-fs-22 font-semibold leading-tight text-brand-ink-soft">No gaps. No guessing. Just the next step.</h3> <p class="mt-2 text-fs-14 font-semibold text-brand-pink">Structured paths built by curriculum designers, not algorithms.</p> <p class="mt-4 text-fs-16 leading-relaxed text-brand-ink/75">Each career path is a carefully sequenced curriculum. You always know what comes next and why it matters. No decision fatigue. No wondering if you missed something important.</p> </div> <div class="mt-8 flex-1 lg:mt-0"> <div class="relative w-full overflow-hidden border bg-white" style="height:380px; border-color:#D9DEE5" data-no-gaps data-paths="[{"label":"Data Engineer","courses":"29 courses","w":2058,"h":5608},{"label":"Data Scientist in Python","courses":"36 courses","w":2058,"h":6728},{"label":"SQL Skills for Data Analysis","courses":"5 courses","w":2058,"h":4384}]"> <div class="relative z-[3] flex items-center justify-between" style="background:#232A3D; padding:10px 18px"> <div class="flex gap-[18px] text-[12px]"> <span style="color:#7D8FA8">Dashboard</span> <span class="font-semibold pb-[2px]" style="color:#fff; border-bottom:2px solid #9B51E0">Learning path</span> <span style="color:#7D8FA8">Catalog</span> <span style="color:#7D8FA8">Projects</span> <span style="color:#7D8FA8">Practice</span> </div> <div class="flex items-center gap-[10px]"> <div class="flex h-[22px] w-[22px] items-center justify-center text-[11px] font-semibold text-white" style="background:#3F4C64">D</div> </div> </div> <div class="absolute z-[4] flex items-center gap-[10px]" style="top:52px; left:18px; background:rgba(255,255,255,0.92); backdrop-filter:blur(6px); border:1px solid #D9DEE5; padding:8px 12px; box-shadow:0 4px 12px rgba(35,42,61,0.08)" data-label> <div class="rounded-full" style="width:6px; height:6px; background:#9B51E0"></div> <div> <div class="text-[9px] font-semibold uppercase leading-none tracking-[.08em]" style="color:#7D8FA8">Career path</div> <div class="mt-[2px] text-[13px] font-semibold leading-[1.2]" style="color:#232A3D" data-label-name>Data Engineer</div> </div> <div class="ml-1 pl-[10px] text-[11px] font-semibold" style="border-left:1px solid #D9DEE5; color:#607390" data-label-courses>29 courses</div> </div> <div class="absolute z-[4]" style="top:60px; bottom:20px; right:10px; width:3px; background:rgba(35,42,61,0.06)"> <div class="absolute left-0 right-0 top-0" style="background:#9B51E0; transition:height 0.05s linear; height:0%" data-progress></div> </div> <div class="absolute overflow-hidden" style="top:42px; left:0; right:0; bottom:0; background:#F7F8FF"> <div class="flex flex-col items-center will-change-transform" data-track style="transform: translateY(0px)"> <div class="border bg-white" style="width:440px; margin-bottom:80px; border-color:#D9DEE5; box-shadow:0 4px 18px rgba(35,42,61,0.12)"> <img src="/wp-content/uploads/2026/05/dq-path-de.png" alt="Data Engineer" class="block h-auto w-full" draggable="false" loading="lazy" decoding="async"> </div><div class="border bg-white" style="width:440px; margin-bottom:80px; border-color:#D9DEE5; box-shadow:0 4px 18px rgba(35,42,61,0.12)"> <img src="/wp-content/uploads/2026/05/dq-path-ds.png" alt="Data Scientist in Python" class="block h-auto w-full" draggable="false" loading="lazy" decoding="async"> </div><div class="border bg-white" style="width:440px; margin-bottom:80px; border-color:#D9DEE5; box-shadow:0 4px 18px rgba(35,42,61,0.12)"> <img src="/wp-content/uploads/2026/05/dq-path-sql.png" alt="SQL Skills for Data Analysis" class="block h-auto w-full" draggable="false" loading="lazy" decoding="async"> </div> </div> <div class="pointer-events-none absolute left-0 right-0 top-0" style="height:24px; background:linear-gradient(to bottom, rgba(247,248,255,0.9), rgba(247,248,255,0))"></div> <div class="pointer-events-none absolute left-0 right-0 bottom-0" style="height:24px; background:linear-gradient(to top, rgba(247,248,255,0.9), rgba(247,248,255,0))"></div> </div> </div>
290<script type="module">const f=()=>{document.querySelectorAll("[data-no-gaps]").forEach(a=>{const o=JSON.parse(a.dataset.paths||"[]"),r=o.map(t=>440*t.h/t.w).map(t=>t-338+80),e=[0];for(let t=0;t<r.length;t++)e.push(e[t]+r[t]);const i=e[e.length-1],h=a.querySelector("[data-track]"),m=a.querySelector("[data-label-name]"),g=a.querySelector("[data-label-courses]"),p=a.querySelector("[data-progress]"),A=28;let s=0,l=null;const u=t=>{l==null&&(l=t);const S=(t-l)/1e3;l=t,s+=A*S,s>=i&&(s=0),h.style.transform=`translateY(-${s}px)`;let d=0;for(let n=0;n<e.length-1;n++)if(s>=e[n]&&s<e[n+1]){d=n;break}const c=o[d];c&&(m.textContent=c.label,g.textContent=c.courses),p.style.height=`${s/i*100}%`,requestAnimationFrame(u)};requestAnimationFrame(u)})};document.addEventListener("DOMContentLoaded",f);</script>
290 </div> </div><div class="lg:flex lg:items-center lg:gap-10" style="display:none" data-howit-panel="2"> <div class="lg:basis-[45%]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Step 03</div> <h3 class="text-fs-22 font-semibold leading-tight text-brand-ink-soft">AI-assisted learning.</h3> <p class="mt-2 text-fs-14 font-semibold text-brand-pink">Your in-app AI tutor, built for deeper understanding.</p> <p class="mt-4 text-fs-16 leading-relaxed text-brand-ink/75">Chandra explains code, answers questions, and helps you work through exercises â right inside the lesson. The more you engage with it, the faster concepts click. Use it to go deeper, not just get unstuck.</p> </div> <div class="mt-8 flex-1 lg:mt-0"> <div class="relative w-full overflow-hidden border bg-white" style="height:380px; border-color:#D9DEE5" data-chandra data-conv="[{"role":"student","text":"Why am I getting a KeyError when I try to access my dictionary?"},{"role":"chandra","text":"A KeyError happens when you try to access a dictionary key that doesn't exist. In your code, you're trying to access row_dict['price'], but there's no 'price' key in your dictionary.","code":"row_dict = {'name': 'iPhone', 'rating': 4.5}\nprint(row_dict['price']) # KeyError!"},{"role":"student","text":"Oh I see! So I need to check if the key exists first?"},{"role":"chandra","text":"Exactly! You can use .get() which returns None if the key is missing, or check with 'in' first. Here's the safer approach:","code":"# Option 1: Using .get()\nprice = row_dict.get('price', 0)\n\n# Option 2: Check first\nif 'price' in row_dict:\n price = row_dict['price']"}]"> <div class="flex items-center justify-between" style="background:#232A3D; padding:10px 14px; border-bottom:1px solid #3F4C64"> <div class="flex min-w-0 flex-1 items-center gap-[10px]"> <div class="flex shrink-0 items-center justify-center" style="width:28px; height:28px; background:#9B51E0"> <svg width="15" height="15" viewBox="0 0 24 24" fill="#fff"><path d="M12 3L1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"></path></svg> </div> <div class="min-w-0"> <div class="whitespace-nowrap text-[13px] font-semibold text-white">Chandra AI Assistant</div> <div class="whitespace-nowrap text-[10px]" style="color:#7D8FA8">Get help while you learn</div> </div> </div> <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="#7D8FA8" stroke-width="2"><path d="M6 18L18 6M6 6l12 12" stroke-linecap="round" stroke-linejoin="round"></path></svg> </div> <div class="overflow-y-auto" style="height:calc(100% - 108px); padding:14px; background:#F7F8FF" data-scroll></div> <div class="flex items-center gap-2 border-t bg-white" style="height:48px; padding:10px; border-color:#D9DEE5"> <div class="flex-1 border text-[12px]" style="border-color:#D9DEE5; padding:7px 10px; color:#7D8FA8">Ask Chandra anythingâ¦</div> <div class="text-[12px] font-semibold text-white" style="background:#9B51E0; padding:7px 14px">Send</div> </div> </div>
290<script type="module">const p=(t,o)=>{const n=document.createElement("div");n.style.display="flex",n.style.justifyContent=t.role==="student"?"flex-end":"flex-start",n.style.marginBottom="12px";const d=document.createElement("div");if(d.style.maxWidth="85%",t.role==="chandra"){const e=document.createElement("div");e.style.cssText="display:flex;align-items:center;gap:6px;margin-bottom:4px",e.innerHTML=` 291 <div style="width:18px;height:18px;background:#9B51E0;display:flex;align-items:center;justify-content:center;flex-shrink:0"> 292 <svg width="9.9" height="9.9" viewBox="0 0 24 24" fill="#fff"><path d="M12 3L1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg> 293 </div> 294 <span style="font-size:10px;font-weight:600;color:#9B51E0">Chandra</span> 295 `,d.appendChild(e)}const l=document.createElement("div"),c=t.role==="student";l.style.cssText=`padding:10px;${c?"background:#1F69FF;color:#fff":"background:#fff;border:1px solid #D9DEE5;color:#232A3D"}`;const i=document.createElement("div");if(i.style.cssText=`font-size:12px;line-height:1.5;color:${c?"#fff":"#232A3D"}`,i.textContent=o?.typing?o.live||"":t.text,o?.typing){const e=document.createElement("span");e.textContent="|",e.style.animation="chBlink 1s infinite",i.appendChild(e)}if(l.appendChild(i),t.code&&!o?.typing){const e=document.createElement("div");e.style.cssText="margin-top:10px;background:#232A3D;padding:10px;border:1px solid #3F4C64";const s=document.createElement("div");s.style.cssText="font-family:'Source Code Pro',monospace;font-size:10px;color:#fff;white-space:pre-wrap;line-height:1.5",s.textContent=t.code,e.appendChild(s),l.appendChild(e)}return d.appendChild(l),n.appendChild(d),n},u=()=>{const t=document.createElement("div");return t.style.cssText="display:flex;margin-bottom:12px",t.innerHTML=` 296 <div style="display:flex;align-items:center;gap:6px"> 297 <div style="width:18px;height:18px;background:#9B51E0;display:flex;align-items:center;justify-content:center;flex-shrink:0"> 298 <svg width="9.9" height="9.9" viewBox="0 0 24 24" fill="#fff"><path d="M12 3L1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z"/></svg> 299 </div> 300 <div style="background:#fff;border:1px solid #D9DEE5;padding:7px 12px;display:flex;gap:4px"> 301 <div style="width:6px;height:6px;background:#9B51E0;animation:chBounce 1.4s infinite ease-in-out 0s"></div> 302 <div style="width:6px;height:6px;background:#9B51E0;animation:chBounce 1.4s infinite ease-in-out 0.15s"></div> 303 <div style="width:6px;height:6px;background:#9B51E0;animation:chBounce 1.4s infinite ease-in-out 0.3s"></div> 304 </div> 305 </div> 306 `,t},v=()=>{document.querySelectorAll("[data-chandra]").forEach(t=>{const o=JSON.parse(t.dataset.conv||"[]"),n=t.querySelector("[data-scroll]"),d=()=>{n.scrollTop=n.scrollHeight},l=i=>new Promise(e=>setTimeout(e,i));(async()=>{for(let i=0;i<o.length;i++){const e=o[i];if(e.role==="student")await l(i===0?700:1200),n.appendChild(p(e)),d();else{await l(400);const s=u();n.appendChild(s),d(),await l(900),s.remove();const a=p(e,{typing:!0,live:""});n.appendChild(a),d();let h="";for(let r=0;r<e.text.length;r++){h=e.text.slice(0,r+1),a.querySelector("div > div > div:nth-child(2)");const f=a.querySelector("div > div > div:last-child")?.firstChild;f&&(f.firstChild.textContent=h),d(),await l(18)}const x=p(e);n.replaceChild(x,a),d(),await l(900)}}})()})};document.addEventListener("DOMContentLoaded",v);</script>
306 </div> </div><div class="lg:flex lg:items-center lg:gap-10" style="display:none" data-howit-panel="3"> <div class="lg:basis-[45%]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Step 04</div> <h3 class="text-fs-22 font-semibold leading-tight text-brand-ink-soft">Guided projects. Portfolio projects. Practice problems.</h3> <p class="mt-2 text-fs-14 font-semibold text-brand-pink">Build proof of what you can do.</p> <p class="mt-4 text-fs-16 leading-relaxed text-brand-ink/75">You don't just complete exercises. You build real projects with messy data that you can push to GitHub and show in interviews. Guided projects walk you through. Portfolio projects challenge you to work independently.</p> </div> <div class="mt-8 flex-1 lg:mt-0"> <div class="relative w-full overflow-hidden border bg-white" style="height:380px; border-color:#D9DEE5" data-guided-projects data-count="12"> <div class="flex items-center justify-between bg-white" style="border-bottom:1px solid #D9DEE5; padding:12px 18px"> <span class="text-[14px] font-semibold" style="color:#232A3D">Guided projects</span> <span class="text-[12px] font-semibold" style="color:#1F69FF">View all â</span> </div> <div class="overflow-hidden" style="height:calc(100% - 46px); -webkit-mask-image:linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%); mask-image:linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%)"> <div class="grid" style="grid-template-columns:1fr 1fr; gap:14px; padding:14px; transform:translateY(0px)" data-track> <div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Exploring Hacker News Posts</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice Python basics, string cleaning, and data handling to uncover patterns.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">8 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Profitable App Profiles for the App Store and Google Play</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice Python and data analysis on real mobile app market data.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">14 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Exploring eBay Car Sales Data</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice data cleaning with pandas on a used-car dataset.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">9 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyzing NYC High School Data</div> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use pandas and Matplotlib to uncover trends in NYC schools.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">6 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Winning Jeopardy</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyze text data and string operations to build a winning strategy.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">8 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Star Wars Survey</div> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Map column values and use functions to analyze survey data.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">9 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Startup Fundraising on Crunchbase</div> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · SQL · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use pandas and SQLite to analyze startup investment deals.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">4 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Garden Simulator Text-Based Game</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice OOP, error handling, and user input.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">14 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Word Radar</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use variables, lists, loops, and functions to build a guessing game.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">11 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyzing Kickstarter Projects</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use pandas to explore factors influencing campaign success.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">9 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Build a Food Ordering App</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use dictionaries, functions, conditionals, and loops.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">12 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Prison Break</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyze data on helicopter prison escapes using lists.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">14 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Exploring Hacker News Posts</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice Python basics, string cleaning, and data handling to uncover patterns.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">8 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Profitable App Profiles for the App Store and Google Play</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice Python and data analysis on real mobile app market data.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">14 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Exploring eBay Car Sales Data</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python
306 · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice data cleaning with pandas on a used-car dataset.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">9 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyzing NYC High School Data</div> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use pandas and Matplotlib to uncover trends in NYC schools.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">6 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Winning Jeopardy</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyze text data and string operations to build a winning strategy.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">8 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Star Wars Survey</div> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Map column values and use functions to analyze survey data.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">9 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Startup Fundraising on Crunchbase</div> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · SQL · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use pandas and SQLite to analyze startup investment deals.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">4 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Garden Simulator Text-Based Game</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice OOP, error handling, and user input.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">14 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Word Radar</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use variables, lists, loops, and functions to build a guessing game.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">11 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyzing Kickstarter Projects</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use pandas to explore factors influencing campaign success.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">9 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Build a Food Ordering App</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use dictionaries, functions, conditionals, and loops.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">12 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Prison Break</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyze data on helicopter prison escapes using lists.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">14 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Exploring Hacker News Posts</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice Python basics, string cleaning, and data handling to uncover patterns.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">8 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Profitable App Profiles for the App Store and Google Play</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice Python and data analysis on real mobile app market data.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">14 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Exploring eBay Car Sales Data</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice data cleaning with pandas on a used-car dataset.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">9 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyzing NYC High School Data</div> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use pandas and Matplotlib to uncover trends in NYC schools.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">6 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Winning Jeopardy</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyze text data and string operations to build a winning strategy.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">8 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Star Wars Survey</div> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Map column values and use functions to analyze survey data.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">9 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Startup Fundraising on Crunchbase</div> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · SQL · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use pandas and SQLite to analyze startup investment deals.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">4 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:1
3064px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Garden Simulator Text-Based Game</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Practice OOP, error handling, and user input.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">14 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Word Radar</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use variables, lists, loops, and functions to build a guessing game.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">11 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyzing Kickstarter Projects</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use pandas to explore factors influencing campaign success.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">9 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Build a Food Ordering App</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Use dictionaries, functions, conditionals, and loops.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">12 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div><div class="flex flex-col border bg-white" style="border-color:#D9DEE5; padding:14px; height:132px"> <div class="mb-1 flex justify-between gap-2"> <div class="overflow-hidden text-[12px] font-semibold leading-[1.3]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Prison Break</div> <span class="shrink-0 text-[10px] font-semibold leading-[12px] text-white" style="background:#9B51E0; padding:2px 8px; height:16px">FREE</span> </div> <div class="mb-[6px] text-[10px]" style="color:#607390">Python · Beginner</div> <div class="mb-[10px] flex-1 overflow-hidden text-[11px] leading-[1.4]" style="color:#232A3D; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical">Analyze data on helicopter prison escapes using lists.</div> <div class="mt-auto flex items-center justify-between"> <span class="text-[10px] font-semibold" style="color:#607390">14 steps</span> <span class="text-[11px] font-semibold" style="color:#1F69FF">Start project â</span> </div> </div> </div> </div> </div>
306<script type="module">const o=()=>{document.querySelectorAll("[data-guided-projects]").forEach(e=>{const a=e.querySelector("[data-track]"),c=parseInt(e.dataset.count||"0",10)*150/2;let t=0;const n=()=>{t=(t+.4)%c,a.style.transform=`translateY(-${t}px)`,requestAnimationFrame(n)};requestAnimationFrame(n)})};document.addEventListener("DOMContentLoaded",o);</script>
306 </div> </div><div class="lg:flex lg:items-center lg:gap-10" style="display:none" data-howit-panel="4"> <div class="lg:basis-[45%]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Step 05</div> <h3 class="text-fs-22 font-semibold leading-tight text-brand-ink-soft">Get certified.</h3> <p class="mt-2 text-fs-14 font-semibold text-brand-pink">Complete a career path, earn a credential.</p> <p class="mt-4 text-fs-16 leading-relaxed text-brand-ink/75">Each career path ends with a certification. It represents a structured curriculum, dozens of exercises, and real portfolio projects. Employers can verify it.</p> </div> <div class="mt-8 flex-1 lg:mt-0"> <div class="relative w-full overflow-hidden border" style="height:380px; background:#F7F8FF; border-color:#D9DEE5; perspective:1400px" data-certs> <div class="absolute inset-0 flex items-center justify-center" style="transform-style:preserve-3d"> <div class="absolute" style="width:460px; height:260px; transition:all 0.9s cubic-bezier(0.4,0,0.2,1); will-change:transform, opacity; transform:translate3d(0, 0px, 0px) rotateX(0deg) scale(1); opacity:1; z-index:100; box-shadow:0 18px 40px rgba(35,42,61,0.18), 0 6px 14px rgba(35,42,61,0.08)" data-cert-card> <div class="box-border flex h-full w-full flex-col border bg-white" style="padding:22px 28px 18px; border-color:#D9DEE5"> <div class="mb-[10px] flex items-center justify-center gap-2"> <svg width="22" height="22" viewBox="0 0 32 32" fill="none"> <circle cx="16" cy="16" r="16" fill="#232A3D"></circle> <path d="M16 6C16 6 12.5 10.5 12.5 17C12.5 19.5 13.5 21 16 21C18.5 21 19.5 19.5 19.5 17C19.5 10.5 16 6 16 6Z" fill="none" stroke="#D9DEE5" stroke-width="1.2"></path> <circle cx="16" cy="14" r="1.8" fill="none" stroke="#D9DEE5" stroke-width="1"></circle> </svg> <span class="text-[13px] uppercase tracking-[.22em]" style="color:#232A3D">dataquest</span> </div> <div class="text-center text-[24px] font-semibold leading-[1.1] tracking-[-0.5px]" style="color:#232A3D; margin:4px 0 18px">Certificate of Completion</div> <div class="flex flex-1 flex-col justify-center gap-[6px] text-center"> <div class="text-[11px]" style="color:#3F4C64">presented to</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-name>Anishta Doe</div> <div class="mt-1 text-[11px]" style="color:#3F4C64">in recognition of their successful completion of the</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-title>Data Engineer</div> </div> <div class="mt-2 flex items-end justify-between"> <div> <div class="text-[8px]" style="color:#7D8FA8">ID <span class="font-semibold" style="color:#9B51E0">MJ8ML475VPXU3FIKOW1C</span></div> <div class="mt-[2px] text-[8px]" style="color:#7D8FA8">Issued on</div> </div> <div class="text-right"> <div class="text-[16px] italic" style="color:#232A3D; font-family:'Brush Script MT', cursive; margin-bottom:-2px">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#7D8FA8">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#1F69FF">Founder, Dataquest</div> </div> </div> </div> </div><div class="absolute" style="width:460px; height:260px; transition:all 0.9s cubic-bezier(0.4,0,0.2,1); will-change:transform, opacity; transform:translate3d(0, 40px, -60px) rotateX(12deg) scale(0.95); opacity:0.55; z-index:99; box-shadow:0 6px 14px rgba(35,42,61,0.1)" data-cert-card> <div class="box-border flex h-full w-full flex-col border bg-white" style="padding:22px 28px 18px; border-color:#D9DEE5"> <div class="mb-[10px] flex items-center justify-center gap-2"> <svg width="22" height="22" viewBox="0 0 32 32" fill="none"> <circle cx="16" cy="16" r="16" fill="#232A3D"></circle> <path d="M16 6C16 6 12.5 10.5 12.5 17C12.5 19.5 13.5 21 16 21C18.5 21 19.5 19.5 19.5 17C19.5 10.5 16 6 16 6Z" fill="none" stroke="#D9DEE5" stroke-width="1.2"></path> <circle cx="16" cy="14" r="1.8" fill="none" stroke="#D9DEE5" stroke-width="1"></circle> </svg> <span class="text-[13px] uppercase tracking-[.22em]" style="color:#232A3D">dataquest</span> </div> <div class="text-center text-[24px] font-semibold leading-[1.1] tracking-[-0.5px]" style="color:#232A3D; margin:4px 0 18px">Certificate of Completion</div> <div class="flex flex-1 flex-col justify-center gap-[6px] text-center"> <div class="text-[11px]" style="color:#3F4C64">presented to</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-name>Celeste Doe</div> <div class="mt-1 text-[11px]" style="color:#3F4C64">in recognition of their successful completion of the</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-title>Data Scientist</div> </div> <div class="mt-2 flex items-end justify-between"> <div> <div class="text-[8px]" style="color:#7D8FA8">ID <span class="font-semibold" style="color:#9B51E0">MJ8ML475VPXU3FIKOW1C</span></div> <div class="mt-[2px] text-[8px]" style="color:#7D8FA8">Issued on</div> </div> <div class="text-right"> <div class="text-[16px] italic" style="color:#232A3D; font-family:'Brush Script MT', cursive; margin-bottom:-2px">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#7D8FA8">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#1F69FF">Founder, Dataquest</div> </div> </div> </div> </div><div class="absolute" style="width:460px; height:260px; transition:all 0.9s cubic-bezier(0.4,0,0.2,1); will-change:transform, opacity; transform:translate3d(0, 54px, -120px) rotateX(12deg) scale(0.9); opacity:0.37000000000000005; z-index:98; box-shadow:0 6px 14px rgba(35,42,61,0.1)" data-cert-card> <div class="box-border flex h-full w-full flex-col border bg-white" style="padding:22px 28px 18px; border-color:#D9DEE5"> <div class="mb-[10px] flex items-center justify-center gap-2"> <svg width="22" height="22" viewBox="0 0 32 32" fill="none"> <circle cx="16" cy="16" r="16" fill="#232A3D"></circle> <path d="M16 6C16 6 12.5 10.5 12.5 17C12.5 19.5 13.5 21 16 21C18.5 21 19.5 19.5 19.5 17C19.5 10.5 16 6 16 6Z" fill="none" stroke="#D9DEE5" stroke-width="1.2"></path> <circle cx="16" cy="14" r="1.8" fill="none" stroke="#D9DEE5" stroke-width="1"></circle> </svg> <span class="text-[13px] uppercase tracking-[.22em]" style="color:#232A3D">dataquest</span> </div> <div class="text-center text-[24px] font-semibold leading-[1.1] tracking-[-0.5px]" style="color:#232A3D; margin:4px 0 18px">Certificate of Completion</div> <div class="flex flex-1 flex-col justify-center gap-[6px] text-center"> <div class="text-[11px]" style="color:#3F4C64">presented to</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-name>Anna Doe</div> <div class="mt-1 text-[11px]" style="color:#3F4C64">in recognition of their successful completion of the</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-title>AI Engineer</div> </div> <div class="mt-2 flex items-end justify-between"> <div> <div class="text-[8px]" style="color:#7D8FA8">ID <span class="font-semibold" style="color:#9B51E0">MJ8ML475VPXU3FIKOW1C</span></div> <div class="mt-[2px] text-[8px]" style="color:#7D8FA8">Issued on</div> </div> <div class="text-right"> <div class="text-[16px] italic" style="color:#232A3D; font-family:'Brush Script MT', cursive; margin-bottom:-2px">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#7D8FA8">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#1F69FF">Founder, Dataquest</div> </div> </div> </div> </div><div class="absolute" style="width:460px; height:260px; transition:all 0.9s cubic-bezier(0.4,0,0.2,1); will-change:transform, opacity; transform:translate3d(0, 68px, -180px) rotateX(12deg) scale(0.85); opacity:0.19000000000000006; z-index:97; box-shadow:0 6px 14px rgba(35,42,61,0.1)" data-cert-card> <div class="box-border flex h-full w-full flex-col border bg-white" style="padding:22px 28px 18px; border-color:#D9DEE5"> <div class="mb-[10px] flex items-center justify-center gap-2"> <svg width="22" height="22" viewBox="0 0 32 32" fill="none"> <circle cx="16" cy="16" r="16" fill="#232A3D"></circle> <path d="M16 6C16 6 12.5 10.5 12.5 17C12.5 19.5 13.5 21 16 21C18.5 21 19.5 19.5 19.5 17C19.5 10.5 16 6 16 6Z" fill="none" stroke="#D9DEE5" stroke-width="1.2"></path> <circle cx="16" cy="14" r="1.8" fill="none" stroke="#D9DEE5" stroke-width="1"></circle> </svg> <span class="text-[13px] uppercase tracking-[.22em]" style="color:#232A3D">dataquest</span> </div> <div class="text-center text-[24px] font-semibold leading-[1.1] tracking-[-0.5px]" style="color:#232A3D; margin:4px 0 18px">Certificate of Completion</div> <div class="flex flex-1 flex-col justify-center gap-[6px] text-center"> <div class="text-[11px]" style="color:#3F4C64">presented to</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-name>Mike Doe</div> <div class="mt-1 text-[11px]" style="color:#3F4C64">in recognition of their successful completion of the</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-title>Data Analyst</div> </div> <div class="mt-2 flex items-end justify-between"> <div> <div class="text-[8px]" style="color:#7D8FA8">ID <span class="font-semibold" style="color:#9B51E0">MJ8ML475VPXU3FIKOW1C</span></div> <div class="mt-[2px] text-[8px]" style="color:#7D8FA8">Issued on</div> </div> <div class="text-right"> <div class="text-[16px] italic" style="color:#232A3D; font-family:'Brush Script MT', cursive; margin-bottom:-2px">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#7D8FA8">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#1F69FF">Founder, Dataquest</div> </div> </div> </div> </div><div class="absolute" style="width:460px; height:260px; transition:all 0.9s cubic-bezier(0.4,0,0.2,1); will-change:transform, opacity; transform:translate3d(0, 82px, -240px) rotateX(12deg) scale(0.8); opacity:0.010000000000000009; z-index:96; box-shadow:0 6px 14px rgba(35,42,61,0.1)" data-cert-card> <div class="box-border flex h-full w-full flex-col border bg-white" style="padding:22px 28px 18px; border-color:#D9DEE5"> <div class="mb-[10px] flex items-center justify-center gap-2"> <svg width="22" height="22" viewBox="0 0 32 32" fill="none"> <circle cx="16" cy="16" r="16" fill="#232A3D"></circle> <path d="M16 6C16 6 12.5 10.5 12.5 17C12.5 19.5 13.5 21 16 21C18.5 21 19.5 19.5 19.5 17C19.5 10.5 16 6 16 6Z" fill="none" stroke="#D9DEE5" stroke-width="1.2"></path> <circle cx="16" cy="14" r="1.8" fill="none" stroke="#D9DEE5" stroke-width="1"></circle> </svg> <span class="text-[13px] uppercase tracking-[.22em]" style="color:#232A3D">dataquest</span> </div> <div class="text-center text-[24px] font-semibold leading-[1.1] tracking-[-0.5px]" style="color:#232A3D; margin:4px 0 18px">Certificate of Completion</div> <div class="flex flex-1 flex-col justify-center gap-[6px] text-center"> <div class="text-[11px]" style="color:#3F4C64">presented to</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-name>Brayan Doe</div> <div class="mt-1 text-[11px]" style="color:#3F4C64">in recognition of their successful completion of the</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-title>Business Analyst</div> </div> <div class="mt-2 flex items-end justify-between"> <div> <div class="text-[8px]" style="color:#7D8FA8">ID <span class="font-semibold" style="color:#9B51E0">MJ8ML475VPXU3FIKOW1C</span></div> <div class="mt-[2px] text-[8px]" style="color:#7D8FA8">Issued on</div> </div> <div class="text-right"> <div class="text-[16px] italic" style="color:#232A3D; font-family:'Brush Script MT', cursive; margin-bottom:-2px">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#7D8FA8">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#1F69FF">Founder, Dataquest</div> </div> </div> </div> </div><div class="absolute" style="width:460px; height:260px; transition:all 0.9s cubic-bezier(0.4,0,0.2,1); will-change:transform, opacity; transform:translate3d(0, 96px, -300px) rotateX(12deg) scale(0.75); opacity:0; z-index:95; box-shadow:0 6px 14px rgba(35,42,61,0.1)" data-cert-card> <div class="box-border flex h-full w-full flex-col border bg-white" style="padding:22px 28px 18px; border-color:#D9DEE5"> <div class="mb-[10px] flex items-center justify-center gap-2"> <svg width="22" height="22" viewBox="0 0 32 32" fill="none"> <circle cx="16" cy="16" r="16" fill="#232A3D"></circle> <path d="M16 6C16 6 12.5 10.5 12.5 17C12.5 19.5 13.5 21 16 21C18.5 21 19.5 19.5 19.5 17C19.5 10.5 16 6 16 6Z" fill="none" stroke="#D9DEE5" stroke-width="1.2"></path> <circle cx="16" cy="14" r="1.8" fill="none" stroke="#D9DEE5" stroke-width="1"></circle> </svg> <span class="text-[13px] uppercase tracking-[.22em]" style="color:#232A3D">dataquest</span> </div> <div class="text-center text-[24px] font-semibold leading-[1.1] tracking-[-0.5px]" style="color:#232A3D; margin:4px 0 18px">Certificate of Completion</div> <div class="flex flex-1 flex-col justify-center gap-[6px] text-center"> <div class="text-[11px]" style="color:#3F4C64">presented to</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-name>Elena Doe</div> <div class="mt-1 text-[11px]" style="color:#3F4C64">in recognition of their successful completion of the</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-title>Introduction to Cloud Computing</div> </div> <div class="mt-2 flex items-end justify-between"> <div> <div class="text-[8px]" style="color:#7D8FA8">ID <span class="font-semibold" style="color:#9B51E0">MJ8ML475VPXU3FIKOW1C</span></div> <div class="mt-[2px] text-[8px]" style="color:#7D8FA8">Issued on</div> </div> <div class="text-right"> <div class="text-[16px] italic" style="color:#232A3D; font-family:'Brush Script MT', cursive; margin-bottom:-2px">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#7D8FA8">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#1F69FF">Founder, Dataquest</div> </div> </div> </div> </div><div class="absolute" style="width:460px; height:260px; transition:all 0.9s cubic-bezier(0.4,0,0.2,1); will-change:transform, opacity; transform:translate3d(0, 110px, -360px) rotateX(12deg) scale(0.7); opacity:0; z-index:94; box-shadow:0 6px 14px rgba(35,42,61,0.1)" data-cert-card> <div class="box-border flex h-full w-full flex-col border bg-white" style="padding:22px 28px 18px; border-color:#D9DEE5"> <div class="mb-[10px] flex items-center justify-center gap-2"> <svg width="22" height="22" viewBox="0 0 32 32" fill="none"> <circle cx="16" cy="16" r="16" fill="#232A3D"></circle> <path d="M16 6C16 6 12.5 10.5 12.5 17C12.5 19.5 13.5 21 16 21C18.5 21 19.5 19.5 19.5 17C19.5 10.5 16 6 16 6Z" fill="none" stroke="#D9DEE5" stroke-width="1.2"></path> <circle cx="16" cy="14" r="1.8" fill="none" stroke="#D9DEE5" stroke-width="1"></circle> </svg> <span class="text-[13px] uppercase tracking-[.22em]" style="color:#232A3D">dataquest</span> </div> <div class="text-center text-[24px] font-semibold leading-[1.1] tracking-[-0.5px]" style="color:#232A3D; margin:4px 0 18px">Certificate of Completion</div> <div class="flex flex-1 flex-col justify-center gap-[6px] text-center"> <div class="text-[11px]" style="color:#3F4C64">presented to</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-name>John Doe</div> <div class="mt-1 text-[11px]" style="color:#3F4C64">in recognition of their successful completion of the</div> <div class="text-[18px] font-semibold tracking-[-0.3px]" style="color:#9B51E0" data-cert-title>Building AI Apps with FastAPI</div> </div> <div class="mt-2 flex items-end justify-between"> <div> <div class="text-[8px]" style="color:#7D8FA8">ID <span class="font-semibold" style="color:#9B51E0">MJ8ML475VPXU3FIKOW1C</span></div> <div class="mt-[2px] text-[8px]" style="color:#7D8FA8">Issued on</div> </div> <div class="text-right"> <div class="text-[16px] italic" style="color:#232A3D; font-family:'Brush Script MT', cursive; margin-bottom:-2px">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#7D8FA8">Vikas Paruchuri</div> <div class="text-[8px]" style="color:#1F69FF">Founder, Dataquest</div> </div> </div> </div> </div> </div> <div class="absolute left-0 right-0 z-[200] flex justify-center gap-[6px]" style
306="bottom:14px"> <div class="transition-all" style="width:18px; height:5px; background:#9B51E0" data-cert-dot="0"></div><div class="transition-all" style="width:5px; height:5px; background:#D9DEE5" data-cert-dot="1"></div><div class="transition-all" style="width:5px; height:5px; background:#D9DEE5" data-cert-dot="2"></div><div class="transition-all" style="width:5px; height:5px; background:#D9DEE5" data-cert-dot="3"></div><div class="transition-all" style="width:5px; height:5px; background:#D9DEE5" data-cert-dot="4"></div><div class="transition-all" style="width:5px; height:5px; background:#D9DEE5" data-cert-dot="5"></div><div class="transition-all" style="width:5px; height:5px; background:#D9DEE5" data-cert-dot="6"></div> </div> </div>
306<script type="module">const b=()=>{document.querySelectorAll("[data-certs]").forEach(l=>{const d=Array.from(l.querySelectorAll("[data-cert-card]")),y=Array.from(l.querySelectorAll("[data-cert-dot]")),a=d.length;let n=0;const x=()=>{d.forEach((e,r)=>{let o=r-n;o<-a/2&&(o+=a),o>a/2&&(o-=a);const t=Math.abs(o),s=o===0,c=o>0,i=s?0:c?40+(t-1)*14:-160-(t-1)*30,p=s?0:-60*t,f=s?0:c?12:-18,u=s?1:1-.05*t,g=t>=3?0:s?1:c?.55-(t-1)*.18:.35-(t-1)*.15,h=100-t;e.style.transform=`translate3d(0, ${i}px, ${p}px) rotateX(${f}deg) scale(${u})`,e.style.opacity=String(Math.max(0,g)),e.style.zIndex=String(h),e.style.boxShadow=s?"0 18px 40px rgba(35,42,61,0.18), 0 6px 14px rgba(35,42,61,0.08)":"0 6px 14px rgba(35,42,61,0.1)"}),y.forEach((e,r)=>{e.style.width=r===n?"18px":"5px",e.style.background=r===n?"#9B51E0":"#D9DEE5"})};x(),window.setInterval(()=>{n=(n+1)%a,x()},2600)})};document.addEventListener("DOMContentLoaded",b);</script>
306 </div> </div> </div> </section>
306<script type="module">const l=()=>{const r=document.querySelector("[data-howit-tabs]");if(!r)return;const n=Array.from(r.querySelectorAll("[data-howit-tab]")),s=Array.from(document.querySelectorAll("[data-howit-panel]")),c=e=>{n.forEach((t,o)=>{const a=o===e;t.style.color=a?"#1F69FF":"#7D8FA8",t.style.fontWeight=a?"600":"400",t.style.borderBottom=`2.5px solid ${a?"#1F69FF":"transparent"}`}),s.forEach((t,o)=>{t.style.display=o===e?"":"none"})};n.forEach((e,t)=>e.addEventListener("click",()=>c(t)))};document.addEventListener("DOMContentLoaded",l);</script>
306 <section style="background:#F7F8FF"> <div class="mx-auto max-w-container px-5 py-[64px] lg:px-12"> <div class="mb-7"> <h2 class="text-fs-34 font-bold leading-tight text-brand-ink-soft">Find your path</h2> <p class="mt-3 max-w-[560px] text-fs-16 leading-relaxed text-brand-ink/75 lg:max-w-none"> Stop guessing what to learn next. Each path gives you the right skills, in the right order. Not sure where to start? <button onclick="window.openPathFinderQuiz()" class="cursor-pointer border-none bg-transparent p-0 text-fs-16 font-semibold text-brand-blue underline decoration-brand-blue underline-offset-[3px] hover:text-brand-blue-hover">Take a 2-min quiz â</button> </p> </div> <div class="mb-[12px]"> <h3 class="text-fs-22 font-semibold text-brand-ink-soft">Career paths</h3> <p class="mb-[18px] mt-1 text-fs-14 text-brand-ink/75">Designed for beginners to get you job-ready in 3 to 9 months.</p> </div> <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-5 mb-10"> <div class="relative flex flex-col border border-brand-rule bg-white p-6 transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.18)]"> <span class="absolute right-3 top-3 z-10 inline-flex items-center bg-brand-warn px-2 py-0.5 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink-soft shadow-sm"> New </span> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Trending</div> <div class="mb-1 text-fs-22 font-semibold leading-tight text-brand-ink-soft">AI Engineer</div> <div class="mb-4 text-fs-14 text-brand-ink/65">Python · LLMs · RAG · FastAPI</div> <div class="mb-4 text-fs-14 leading-relaxed text-brand-ink/75">30 courses · 20 projects<br>9â12 mo</div> <div class="mb-4 text-fs-12 text-brand-ink/60">157K+ learners enrolled</div> <a href="/path/ai-engineer/" class="mt-auto text-fs-14 font-semibold text-brand-blue hover:text-brand-blue-hover"> View career path â </a> </div><div class="relative flex flex-col border border-brand-rule bg-white p-6 transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.18)]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Highest Salaries</div> <div class="mb-1 text-fs-22 font-semibold leading-tight text-brand-ink-soft">Data Scientist</div> <div class="mb-4 text-fs-14 text-brand-ink/65">Python · ML · Statistics · Git</div> <div class="mb-4 text-fs-14 leading-relaxed text-brand-ink/75">38 courses · 27 projects<br>9â12 mo</div> <div class="mb-4 text-fs-12 text-brand-ink/60">442K+ learners enrolled</div> <a href="/path/data-scientist/" class="mt-auto text-fs-14 font-semibold text-brand-blue hover:text-brand-blue-hover"> View career path â </a> </div><div class="relative flex flex-col border border-brand-rule bg-white p-6 transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.18)]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Best for Beginners</div> <div class="mb-1 text-fs-22 font-semibold leading-tight text-brand-ink-soft">Data Analyst</div> <div class="mb-4 text-fs-14 text-brand-ink/65">Python · SQL · Pandas · Tableau</div> <div class="mb-4 text-fs-14 leading-relaxed text-brand-ink/75">27 courses · 19 projects<br>6â9 mo</div> <div class="mb-4 text-fs-12 text-brand-ink/60">432K+ learners enrolled</div> <a href="/path/data-analyst/" class="mt-auto text-fs-14 font-semibold text-brand-blue hover:text-brand-blue-hover"> View career path â </a> </div><div class="relative flex flex-col border border-brand-rule bg-white p-6 transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.18)]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">In-Demand</div> <div class="mb-1 text-fs-22 font-semibold leading-tight text-brand-ink-soft">Data Engineer</div> <div class="mb-4 text-fs-14 text-brand-ink/65">Python · SQL · Spark · Airflow</div> <div class="mb-4 text-fs-14 leading-relaxed text-brand-ink/75">29 courses · 14 projects<br>8â12 mo</div> <div class="mb-4 text-fs-12 text-brand-ink/60">123K+ learners enrolled</div> <a href="/path/data-engineer/" class="mt-auto text-fs-14 font-semibold text-brand-blue hover:text-brand-blue-hover"> View career path â </a> </div> </div> <div class="mb-[12px]"> <h3 class="text-fs-22 font-semibold text-brand-ink-soft">Skill paths</h3> <p class="mb-[18px] mt-1 text-fs-14 text-brand-ink/75">Curated course groupings to guide you to full mastery of a topic.</p> </div> <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-
3065 "> <div class="relative flex flex-col border border-brand-rule bg-white p-6 transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.18)]"> <span class="absolute right-3 top-3 z-10 inline-flex items-center bg-brand-warn px-2 py-0.5 text-fs-12 font-semibold uppercase tracking-[.08em] text-brand-ink-soft shadow-sm"> Popular </span> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Most Popular</div> <div class="mb-1 text-fs-22 font-semibold leading-tight text-brand-ink-soft">Python</div> <div class="mb-4 text-fs-14 text-brand-ink/65">Python · Jupyter · OOP · Data Types</div> <div class="mb-4 text-fs-14 leading-relaxed text-brand-ink/75">4 courses · 3 projects<br>2 mo</div> <div class="mb-4 text-fs-12 text-brand-ink/60">335K+ learners enrolled</div> <a href="/path/python-basics-for-data-analysis/" class="mt-auto text-fs-14 font-semibold text-brand-blue hover:text-brand-blue-hover"> View skill path â </a> </div><div class="relative flex flex-col border border-brand-rule bg-white p-6 transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.18)]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Best for Beginners</div> <div class="mb-1 text-fs-22 font-semibold leading-tight text-brand-ink-soft">SQL</div> <div class="mb-4 text-fs-14 text-brand-ink/65">SQL · Databases · Joins · Window Fns</div> <div class="mb-4 text-fs-14 leading-relaxed text-brand-ink/75">5 courses · 3 projects<br>2 mo</div> <div class="mb-4 text-fs-12 text-brand-ink/60">52K+ learners enrolled</div> <a href="/path/sql-skills/" class="mt-auto text-fs-14 font-semibold text-brand-blue hover:text-brand-blue-hover"> View skill path â </a> </div><div class="relative flex flex-col border border-brand-rule bg-white p-6 transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.18)]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">In-Demand</div> <div class="mb-1 text-fs-22 font-semibold leading-tight text-brand-ink-soft">Power BI</div> <div class="mb-4 text-fs-14 text-brand-ink/65">Power BI · DAX · Dashboards</div> <div class="mb-4 text-fs-14 leading-relaxed text-brand-ink/75">5 courses · 3 projects<br>2 mo</div> <div class="mb-4 text-fs-12 text-brand-ink/60">28K+ learners enrolled</div> <a href="/path/business-analyst-with-power-bi/" class="mt-auto text-fs-14 font-semibold text-brand-blue hover:text-brand-blue-hover"> View skill path â </a> </div><div class="relative flex flex-col border border-brand-rule bg-white p-6 transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.18)]"> <div class="mb-2 text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Highest Salaries</div> <div class="mb-1 text-fs-22 font-semibold leading-tight text-brand-ink-soft">Machine Learning</div> <div class="mb-4 text-fs-14 text-brand-ink/65">scikit-learn · Regression · Trees</div> <div class="mb-4 text-fs-14 leading-relaxed text-brand-ink/75">7 courses · 7 projects<br>2 mo</div> <div class="mb-4 text-fs-12 text-brand-ink/60">16K+ learners enrolled</div> <a href="/path/machine-learning-in-python/" class="mt-auto text-fs-14 font-semibold text-brand-blue hover:text-brand-blue-hover"> View skill path â </a> </div> </div> <div class="mt-7 text-center"> <a href="/catalog/" class="text-[14px] font-semibold no-underline" style="color:#1F69FF">View all career and skill paths â</a> </div> </div> </section> <div id="pf-quiz-root"></div>
306<script src="/pf-quiz.js" defer></script>
306 <!-- 307 Single-row testimonial strip on dark navy. Each card is a full-bleed 308 square headshot photo on top + a white body below with the learner's 309 name, quote, separator, and a "[Before] To [After] â" link. Matches the 310 user's reference screenshot exactly. 311 312 Photos use `aspect-square` + `object-cover object-top` so all five crop 313 consistently regardless of source dimensions (the older WP photos were 314 pre-cropped headshots; the newer Sunishchal/Stacey PNGs are taller, so 315 forcing a square crop is what makes them visually match). 316 317 At desktop (lg+) all 5 cards are visible in one row. Below lg the row 318 becomes a horizontal scroller with snap (2 cards visible at a time). 319 Includes JS-free prev/next buttons at the bottom that scroll the strip. 320--><section class="relative overflow-hidden" style="background:#1a2030"> <div class="mx-auto max-w-container px-3 py-section lg:px-6"> <div class="mb-10"> <h2 class="text-fs-34 font-bold leading-tight text-white [&_.highlight]:text-brand-pink"><span class="highlight">Dataquest</span> makes your hard work count.</h2> <p class="mt-3 text-fs-16 leading-relaxed text-white/70">Career changers, self-taught learners, and professionals who leveled up.</p> </div> <div id="learner-stories-strip" class="-mx-3 flex snap-x snap-mandatory gap-6 overflow-x-auto scroll-smooth px-3 pb-3 lg:mx-0 lg:overflow-visible lg:px-0 lg:pb-0"> <a href="/learners/otavio-silveira/" class="group flex shrink-0 basis-[calc(50%-12px)] snap-start flex-col bg-white transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.32)] lg:basis-0 lg:flex-1"> <div class="aspect-square w-full overflow-hidden bg-brand-rule-soft"> <img src="/wp-content/uploads/2023/02/Otavio.webp" alt="Otávio Silveira, Coach to Data Analyst" class="h-full w-full object-cover object-top transition duration-300 group-hover:scale-105" loading="lazy" decoding="async" width="220" height="220" sizes="(max-width: 1024px) calc(50vw - 24px), 220px"> </div> <div class="flex flex-1 flex-col p-6"> <div class="text-fs-18 font-semibold text-brand-ink-soft group-hover:text-brand-blue">Otávio Silveira</div> <p class="mt-3 text-fs-14 leading-relaxed text-brand-ink/80">"The learning paths on Dataquest are incredible. You don't have to guess what you should learn next."</p> <div class="mt-auto flex items-center justify-between gap-2 border-t border-brand-rule pt-4 text-fs-14 font-semibold text-brand-blue group-hover:text-brand-blue-hover"> <span>Coach To Data Analyst</span> <span aria-hidden="true">â</span> </div> </div> </a><a href="/learners/francisco-sosa/" class="group flex shrink-0 basis-[calc(50%-12px)] snap-start flex-col bg-white transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.32)] lg:basis-0 lg:flex-1"> <div class="aspect-square w-full overflow-hidden bg-brand-rule-soft"> <img src="/wp-content/uploads/2023/02/Francisco.webp" alt="Francisco Sosa, HR to Data Scientist" class="h-full w-full object-cover object-top transition duration-300 group-hover:scale-105" loading="lazy" decoding="async" width="220" height="220" sizes="(max-width: 1024px) calc(50vw - 24px), 220px"> </div> <div class="flex flex-1 flex-col p-6"> <div class="text-fs-18 font-semibold text-brand-ink-soft group-hover:text-brand-blue">Francisco Sosa</div> <p class="mt-3 text-fs-14 leading-relaxed text-brand-ink/80">"Dataquest finds a balance between being too easy and being so hard that you get discouraged."</p> <div class="mt-auto flex items-center justify-between gap-2 border-t border-brand-rule pt-4 text-fs-14 font-semibold text-brand-blue group-hover:text-brand-blue-hover"> <span>HR To Data Scientist</span> <span aria-hidden="true">â</span> </div> </div> </a><a href="/learners/viktoria-jorayeva/" class="group flex shrink-0 basis-[calc(50%-12px)] snap-start flex-col bg-white transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.32)] lg:basis-0 lg:flex-1"> <div class="aspect-square w-full overflow-hidden bg-brand-rule-soft"> <img src="/wp-content/uploads/2023/02/Viktoria.webp" alt="Viktoria Jorayeva, Linguist to Data Scientist" class="h-full w-full object-cover object-top transition duration-300 group-hover:scale-105" loading="lazy" decoding="async" width="220" height="220" sizes="(max-width: 1024px) calc(50vw - 24px), 220px"> </div> <div class="flex flex-1 flex-col p-6"> <div class="text-fs-18 font-semibold text-brand-ink-soft group-hover:text-brand-blue">Viktoria Jorayeva</div> <p class="mt-3 text-fs-14 leading-relaxed text-brand-ink/80">"I can't believe how easily and clearly complex material is presented on Dataquest."</p> <div class="mt-auto flex items-center justify-between gap-2 border-t border-brand-rule pt-4 text-fs-14 font-semibold text-brand-blue group-hover:text-brand-blue-hover"> <span>Linguist To Data Scientist</span> <span aria-hidden="true">â</span> </div> </div> </a><a href="/learners/sunishchal-dev/" class="group flex shrink-0 basis-[calc(50%-12px)] snap-start flex-col bg-white transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.32)] lg:basis-0 lg:flex-1"> <div class="aspect-square w-full overflow-hidden bg-brand-rule-soft"> <img src="/wp-content/uploads/2023/02/Sunischal.webp" alt="Sunishchal Dev, IT to Data Scientist" class="h-full w-full object-cover object-top transition duration-300 group-hover:scale-105" loading="lazy" decoding="async" width="220" height="220" sizes="(max-width: 1024px) calc(50vw - 24px), 220px"> </div> <div class="flex flex-1 flex-col p-6"> <div class="text-fs-18 font-semibold text-brand-ink-soft group-hover:text-brand-blue">Sunishchal Dev</div> <p class="mt-3 text-fs-14 leading-relaxed text-brand-ink/80">"The lessons are easy to absorb. Dataquest helped me get my dream job
320!"</p> <div class="mt-auto flex items-center justify-between gap-2 border-t border-brand-rule pt-4 text-fs-14 font-semibold text-brand-blue group-hover:text-brand-blue-hover"> <span>IT To Data Scientist</span> <span aria-hidden="true">â</span> </div> </div> </a><a href="/learners/stacey-ustian/" class="group flex shrink-0 basis-[calc(50%-12px)] snap-start flex-col bg-white transition hover:shadow-[0_18px_40px_-20px_rgba(0,0,0,0.32)] lg:basis-0 lg:flex-1"> <div class="aspect-square w-full overflow-hidden bg-brand-rule-soft"> <img src="/wp-content/uploads/2023/02/Stacey.webp" alt="Stacey Ustian, Librarian to Data Engineer" class="h-full w-full object-cover object-top transition duration-300 group-hover:scale-105" loading="lazy" decoding="async" width="220" height="220" sizes="(max-width: 1024px) calc(50vw - 24px), 220px"> </div> <div class="flex flex-1 flex-col p-6"> <div class="text-fs-18 font-semibold text-brand-ink-soft group-hover:text-brand-blue">Stacey Ustian</div> <p class="mt-3 text-fs-14 leading-relaxed text-brand-ink/80">"Dataquest teaches you how you do data analysis in the real world."</p> <div class="mt-auto flex items-center justify-between gap-2 border-t border-brand-rule pt-4 text-fs-14 font-semibold text-brand-blue group-hover:text-brand-blue-hover"> <span>
320Librarian To Data Engineer</span> <span aria-hidden="true">â</span> </div> </div> </a> </div> <div class="mt-6 flex items-center gap-3 lg:hidden"> <button type="button" data-stories-prev aria-label="Previous testimonials" class="flex h-10 w-10 cursor-pointer items-center justify-center border border-white/30 bg-transparent text-white transition hover:bg-white/10"> <span aria-hidden="true">â¹</span> </button> <button type="button" data-stories-next aria-label="Next testimonials" class="flex h-10 w-10 cursor-pointer items-center justify-center border border-white/30 bg-white text-brand-ink-soft transition hover:bg-white/90"> <span aria-hidden="true">âº</span> </button> </div> <div class="mt-8 text-center"> <a href="/learner-stories/" class="text-fs-14 font-semibold text-white/70 hover:text-white"> 321Read more learner stories â 322</a> </div> </div> </section>
322<script type="module">const s=()=>{const e=document.getElementById("learner-stories-strip"),t=document.querySelector("[data-stories-prev]"),r=document.querySelector("[data-stories-next]");if(!e||!t||!r)return;const o=()=>{const n=e.querySelector(":scope > a");return n?n.offsetWidth+24:e.clientWidth/2};t.addEventListener("click",()=>e.scrollBy({left:-o(),behavior:"smooth"})),r.addEventListener("click",()=>e.scrollBy({left:o(),behavior:"smooth"}))};document.addEventListener("DOMContentLoaded",s);</script>
322 <section class="relative overflow-hidden" style="background:#232A3D"> <div class="pointer-events-none absolute inset-0 overflow-hidden"> <div class="absolute inset-0" style="background: linear-gradient(135deg, rgba(155,81,224,0.15) 0%, rgba(35,42,61,0) 40%, rgba(31,105,255,0.08) 100%)"></div> <svg class="absolute inset-0 h-full w-full" style="opacity:0.07" aria-hidden="true"> <line x1="8%" y1="0" x2="8%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="16%" y1="0" x2="16%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="24%" y1="0" x2="24%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="32%" y1="0" x2="32%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="40%" y1="0" x2="40%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="48%" y1="0" x2="48%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="56%" y1="0" x2="56%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="64%" y1="0" x2="64%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="72%" y1="0" x2="72%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="80%" y1="0" x2="80%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="88%" y1="0" x2="88%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="96%" y1="0" x2="96%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line> <line x1="0" y1="16%" x2="100%" y2="16%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="32%" x2="100%" y2="32%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="48%" x2="100%" y2="48%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="64%" x2="100%" y2="64%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="80%" x2="100%" y2="80%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="96%" x2="100%" y2="96%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line> </svg> <div class="absolute -top-[50px] -right-[30px] h-[280px] w-[280px] rotate-[15deg] border border-white/[.07] bg-white/[.02]"></div> </div> <div class="relative z-[1] mx-auto max-w-container px-5 py-[64px] lg:px-12"> <div class="mb-10 text-center"> <h2 class="text-fs-40 font-bold leading-tight text-white [&_.highlight]:text-brand-pink lg:text-fs-56">Grow your career with <span class="highlight">Dataquest</span>.</h2> <p class="mt-4 text-fs-16 text-white/85">Dataquest outcomes and industry data</p> </div> <div class="mb-10 flex flex-wrap justify-center"> <div class="text-center" style="padding:0 36px"> <div class="text-fs-48 font-bold leading-tight text-brand-pink">98%</div> <div class="mx-auto mt-2 max-w-[180px] text-fs-14 leading-relaxed text-white/85">of learners recommend Dataquest for career advancement</div> </div><div class="text-center" style="padding:0 36px"> <div class="text-fs-48 font-bold leading-tight text-brand-pink">4.85</div> <div class="mx-auto mt-2 max-w-[180px] text-fs-14 leading-relaxed text-white/85">Dataquest rating on SwitchUp Best Bootcamps</div> </div><div class="text-center" style="padding:0 36px"> <div class="text-fs-48 font-bold leading-tight text-brand-pink">$30K</div> <div class="mx-auto mt-2 max-w-[180px] text-fs-14 leading-relaxed text-white/85">average salary boost for learners who complete a path</div> </div> </div> <div class="relative z-[1] border border-white/15 bg-white/[0.04] p-7"> <p class="mb-5 text-center text-fs-12 font-semibold uppercase tracking-[.12em] text-white/75"> Data roles in the US â 2026 median salaries </p> <div class="mb-4 flex flex-wrap justify-center gap-x-14 gap-y-4"> <div class="text-center"> <div class="text-fs-34 font-bold text-white">$108K</div> <div class="mt-1 text-fs-14 text-white/85">Data Analyst</div> </div><div class="text-center"> <div class="text-fs-34 font-bold text-white">$131K</div> <div class="mt-1 text-fs-14 text-white/85">Data Engineer</div> </div><div class="text-center"> <div class="text-fs-34 font-bold text-white">$145K</div> <div class="mt-1 text-fs-14 text-white/85">Data Scientist</div> </div> </div> <p class="text-center text-fs-12 text-white/70">Source: Glassdoor, Jan 2026 · WEF Future of Jobs 2025: Analytical Thinking = #1 in-demand skill, 3rd consecutive year</p> </div> </div> </section> <section class="bg-white"> <div class="mx-auto max-w-container px-5 py-[64px] lg:px-12"> <div class="grid gap-12 lg:grid-cols-[1fr_1.2fr]"> <div> <h2 class="text-fs-34 font-bold leading-tight text-brand-ink-soft">Common questions</h2> <p class="mt-3 max-w-[320px] text-fs-16 leading-relaxed text-brand-ink/75">Everything you need to know before getting started.</p> </div> <div> <div class="border-b border-brand-rule py-4"> <div class="text-fs-16 font-semibold text-brand-ink-soft">Do I need a degree or prior coding experience?</div> <div class="mt-2 text-fs-14 leading-relaxed text-brand-ink/75">No. Every career path starts from zero. You'll write your first lines of code in the first lesson. Many of our most successful learners came from non-technical backgrounds.</div> </div><div class="border-b border-brand-rule py-4"> <div class="text-fs-16 font-semibold text-brand-ink-soft">How long does it realistically take?</div> <div class="mt-2 text-fs-14 leading-relaxed text-brand-ink/75">At 5 hours a week, most learners finish a career path in 6 to 12 months. At 10+ hours a week, you can compress that to 4 to 6 months. We're honest about the time because it matters.</div> </div><div class="border-b border-brand-rule py-4"> <div class="text-fs-16 font-semibold text-brand-ink-soft">Are data skills still worth learning with AI everywhere?</div> <div class="mt-2 text-fs-14 leading-relaxed text-brand-ink/75">More than ever. AI can generate code, but it can't decide which question to ask, clean messy data, or explain results to stakeholders. Analytical thinking is the #1 most in-demand skill globally (WEF, 2025) for the third year running.</div> </div><div class="border-b border-brand-rule py-4"> <div class="text-fs-16 font-semibold text-brand-ink-soft">What makes Dataquest different from other platforms?</div> <div class="mt-2 text-fs-14 leading-relaxed text-brand-ink/75">You write code from the very first lesson. No videos to passively watch. Every path includes real-world projects built into the curriculum. And you always know exactly what to learn next.</div> </div><div class="border-b border-brand-rule py-4"> <div class="text-fs-16 font-semibold text-brand-ink-soft">Is there a free plan?</div> <div class="mt-2 text-fs-14 leading-relaxed text-brand-ink/75">Yes. You can start learning immediately with free access to introductory content across all paths. No credit card required.</div> </div> </div> </div> </div> </section> <section class="relative overflow-hidden" style="background:#232A3D"> <div class="pointer-events-none absolute inset-0 overflow-hidden"> <div class="absolute inset-0" style="background: linear-gradient(135deg, rgba(155,81,224,0.15) 0%, rgba(35,42,61,0) 40%, rgba(31,105,255,0.08) 100%)"></div> <svg class="absolute inset-0 h-full w-full" style="opacity:0.07" aria-hidden="true"> <line x1="8%" y1="0" x2="8%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="16%" y1="0" x2="16%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="24%" y1="0" x2="24%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="32%" y1="0" x2="32%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line>
322<line x1="40%" y1="0" x2="40%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="48%" y1="0" x2="48%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="56%" y1="0" x2="56%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="64%" y1="0" x2="64%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="72%" y1="0" x2="72%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="80%" y1="0" x2="80%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="88%" y1="0" x2="88%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="96%" y1="0" x2="96%" y2="100%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line> <line x1="0" y1="16%" x2="100%" y2="16%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="32%" x2="100%" y2="32%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="48%" x2="100%" y2="48%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="64%" x2="100%" y2="64%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="80%" x2="100%" y2="80%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line><line x1="0" y1="96%" x2="100%" y2="96%" stroke="rgba(255,255,255,0.4)" stroke-width="0.5"></line> </svg> <div class="absolute -top-[50px] -right-[30px] h-[280px] w-[280px] rotate-[15deg] border border-white/[.07] bg-white/[.02]"></div> </div> <div class="relative z-[1] mx-auto max-w-container px-5 py-[80px] text-center lg:px-12"> <p class="text-fs-12 font-semibold uppercase tracking-[.12em] text-brand-pink">Join 1M+ data learners on Dataquest</p> <h2 class="mt-4 text-fs-34 font-bold leading-tight text-white lg:text-fs-40">This is where it starts.</h2> <p class="mx-auto mt-6 mb-9 max-w-[480px] text-fs-18 leading-relaxed text-white/70">Your first SQL query. Your first clean dataset. Your first project on GitHub. Start there. It's free.</p> <div class="flex flex-wrap items-center justify-center gap-3"> <a href="https://app.dataquest.io/signup" class="inline-flex min-h-[50px] items-center justify-center bg-brand-blue px-9 py-3 text-fs-16 font-semibold text-white transition hover:bg-brand-blue-hover"> Start Learning for Free â </a> <a href="/catalog/" class="inline-flex min-h-[50px] items-center justify-center border border-white/20 px-9 py-3 text-fs-14 font-semibold text-white/70 transition hover:bg-white/5 hover:text-white"> Explore all paths </a> </div> <p class="mt-4 text-fs-12 text-white/70">No credit card. No deadline. Cancel anytime.</p> </div> </section> </main> <div data-pagefind-ignore><footer class="bg-brand-ink-soft pt-20 pb-16"> <div class="mx-auto max-w-container px-3 lg:px-6"> <div class="grid grid-cols-2 gap-x-6 gap-y-12 lg:grid-cols-[1fr_repeat(4,_minmax(0,0.55fr))]"> <div class="col-span-2 lg:col-span-1"> <a href="/" class="inline-block" aria-label="Dataquest home"> <img src="/wp-content/uploads/2023/02/White-Logo.webp" alt="Dataquest" width="120" height="25" class="block w-[120px]" loading="lazy" decoding="async"> </a> <p class="mt-8 text-[15px] leading-[23px] text-brand-surface-2">All rights reserved.<br>Dataquest Labs, Inc.</p> <ul class="mt-4 flex flex-wrap gap-x-6 gap-y-2 text-fs-14"> <li> <a href="https://support.dataquest.io/en/articles/699-terms-of-use" target="_blank" rel="noopener" class="text-brand-surface-2 hover:text-brand-blue">Terms of Use</a> </li><li> <a href="https://support.dataquest.io/en/articles/700-privacy-policy" target="_blank" rel="noopener" class="text-brand-surface-2 hover:text-brand-blue">Privacy Policy</a> </li> </ul> <ul class="mt-5 flex gap-5"> <li> <a href="https://www.facebook.com/dataquestio" aria-label="Facebook" title="Facebook" rel="noopener" target="_blank" class="inline-flex h-6 w-6 items-center justify-center text-brand-surface-2 transition-colors hover:text-brand-blue"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"> <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path> </svg> </a> </li><li> <a href="https://x.com/dataquestio" aria-label="X (Twitter)" title="X (Twitter)" rel="noopener" target="_blank" class="inline-flex h-6 w-6 items-center justify-center text-brand-surface-2 transition-colors hover:text-brand-blue"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"> <path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path> </svg> </a> </li><li> <a href="https://www.linkedin.com/school/dataquest-io/mycompany/" aria-label="LinkedIn" title="LinkedIn" rel="noopener" target="_blank" class="inline-flex h-6 w-6 items-center justify-center text-brand-surface-2 transition-colors hover:text-brand-blue"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"> <path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path> </svg> </a> </li><li> <a href="https://www.youtube.com/channel/UC_lePY0Lm0E2-_IkYUWpI5A" aria-label="YouTube" title="YouTube" rel="noopener" target="_blank" class="inline-flex h-6 w-6 items-center justify-center text-brand-surface-2 transition-colors hover:text-brand-blue"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="currentColor" aria-hidden="true"> <path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"></path> </svg> </a> </li> </ul> </div> <div> <h3 class="mb-5 text-fs-16 font-semibold text-white">About</h3> <ul class="space-y-3"> <li> <a href="/for-business/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> For Business </a> </li><li> <a href="/academic-discounts/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> For Educators </a> </li><li> <a href="/about/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> About Dataquest </a> </li><li> <a href="/learner-stories/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue">
322 Learner Stories </a> </li><li> <a href="https://support.dataquest.io/en" target="_blank" rel="noopener" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Help Center </a> </li><li> <a href="https://support.dataquest.io/en" target="_blank" rel="noopener" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Contact Us </a> </li><li> <a href="/partnerships/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Partnership Programs </a> </li><li> <a href="/sitemap/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Sitemap </a> </li> </ul> </div><div> <h3 class="mb-5 text-fs-16 font-semibold text-white">Career Paths</h3> <ul class="space-y-3"> <li> <a href="/path/data-scientist/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Data Scientist </a> </li><li> <a href="/path/data-engineer/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Data Engineer </a> </li><li> <a href="/path/data-analyst/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Data Analyst Python </a> </li><li> <a href="/path/data-analyst-r/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Data Analyst R </a> </li><li> <a href="/path/business-analyst-with-power-bi/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Business Analyst Power BI </a> </li><li> <a href="/path/business-analyst-with-tableau/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Business Analyst Tableau </a> </li><li> <a href="/path/junior-data-analyst/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Junior Data Analyst </a> </li> </ul> </div><div> <h3 class="mb-5 text-fs-16 font-semibold text-white">Skill Paths</h3> <ul class="space-y-3"> <li> <a href="/path/sql-skills/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> SQL Courses </a> </li><li> <a href="/path/ai-engineering/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> AI Engineer Path </a> </li><li> <a href="/path/machine-learning-in-python/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Machine Learning Courses </a> </li><li> <a href="/path/deep-learning-in-tensorflow-skill/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Deep Learning Courses </a> </li><li> <a href="/path/introduction-to-data-analysis-with-excel/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Excel Courses </a> </li><li> <a href="/path/probability-and-statistics-with-python/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Statistics Courses </a> </li> </ul> </div><div> <h3 class="mb-5 text-fs-16 font-semibold text-white">Explore</h3> <ul class="space-y-3"> <li> <a href="/catalog/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Course Catalog </a> </li><li> <a href="/data-science-projects/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Projects </a> </li><li> <a href="/dataquest-teaching-method/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Teaching Method </a> </li><li> <a href="/project-first-learning-blog/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> Project-first Learning </a> </li><li> <a href="/blog/learn-python-the-right-way/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> How to Learn Python </a> </li><li> <a href="/dqdl/" class="text-[14px] leading-[21px] text-brand-surface-2 hover:text-brand-blue"> The Dataquest Download </a> </li> </ul> </div> </div> </div> </footer></div>
322<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon="{"version":"2024.11.0","token":"90da529b51454f1d808e60fd24b387d0","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":false},"location_startswith":null}}" crossorigin="anonymous"></script>
322 </body> </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.