.ds-prog{max-width:var(--ds-page-max);margin:0 auto}.ds-prog-top{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,2fr);gap:calc(var(--ds-space-6) * var(--ds-k-space));align-items:stretch;margin-top:calc(var(--ds-space-7) * var(--ds-k-space))}.ds-prog-top>.ds-hero{display:flex;flex-direction:column}.ds-prog-top>.ds-hero>.ds-hero-a{margin-top:auto;padding-top:calc(26px * var(--ds-k-space))}.ds-prog-top--solo{grid-template-columns:minmax(0,1fr)}.ds-prog-top>.ds-hero--light .ds-hero-k{color:var(--ds-color-gold-text)}.ds-prog-top>.ds-hero--light .ds-hero-rl{min-width:0}.ds-prog-news{display:flex;min-width:0}.ds-prog-news>.ds-news{flex:1}.ds-prog-mods{margin-top:calc(var(--ds-space-9) * var(--ds-k-space))}.ds-prog-sec-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ds-space-1) var(--ds-space-4);margin-bottom:var(--ds-space-4)}.ds-prog-sec-h h2{font-size:var(--ds-fs-3xl);font-weight:700;line-height:var(--ds-lh-heading)}.ds-prows:not([hidden]){display:grid;gap:var(--ds-space-2)}.ds-prow{display:grid;grid-template-columns:44px minmax(0,1fr) 190px 170px;align-items:center;gap:var(--ds-space-4);min-height:68px;padding:10px var(--ds-space-5) 10px var(--ds-space-4);border:1px solid transparent;border-radius:var(--ds-radius-xl);background:var(--ds-color-card);box-shadow:var(--ds-shadow);color:inherit;text-decoration:none}a.ds-prow{transition:box-shadow var(--ds-duration),border-color var(--ds-duration)}a.ds-prow:hover{border-color:var(--ds-color-hover-border);box-shadow:var(--ds-shadow-lg)}a.ds-prow:focus-visible{outline:var(--ds-focus-width) solid var(--ds-color-focus);outline-offset:var(--ds-focus-offset)}.ds-prow.is-now{background:var(--ds-color-gold-50);box-shadow:var(--ds-shadow-lg)}.ds-prow.is-locked{background:var(--ds-color-card-muted);border-color:var(--ds-color-card-border);box-shadow:none}.ds-prow-n{font:700 var(--ds-fs-3xl) /1 var(--ds-font-display);text-align:center}.ds-prow-ic{display:grid;place-items:center;width:36px;height:36px;margin:0 auto;border-radius:var(--ds-radius-md);background:var(--ds-color-surface)}.ds-prow-b{display:grid;gap:1px;min-width:0}.ds-prow-k{font-size:var(--ds-fs-sm);font-weight:600;color:var(--ds-color-slate)}.ds-prow-t{font:600 var(--ds-fs-lg) /1.25 var(--ds-font-display);text-wrap:pretty}.ds-prow-d{display:flex;align-items:center;gap:6px;font-size:var(--ds-fs-meta);color:var(--ds-color-slate);white-space:nowrap}.ds-prow-s{display:flex;justify-content:flex-end}.ds-prow.is-locked :is(.ds-prow-n,.ds-prow-t){color:var(--ds-color-slate)}.ds-prog-mods{overflow-anchor:none}.ds-prow-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ds-space-1) var(--ds-space-4);margin-bottom:var(--ds-space-3)}.ds-prow-bar .ds-prog-note{margin:0;flex:1 1 320px}.ds-prow-more{min-height:0;padding:0;border:0;background:none;font-family:inherit;cursor:pointer;white-space:nowrap}.ds-prow-more .is-flipped{transform:rotate(180deg)}.ds-prows--older:not([hidden]){margin-bottom:var(--ds-space-2)}@media (max-width:899px){.ds-prow{grid-template-columns:36px minmax(0,1fr);grid-template-areas:"n s" "n b" "n d";column-gap:var(--ds-space-3);row-gap:3px;padding:var(--ds-space-3)}.ds-prow-n{grid-area:n;align-self:start}.ds-prow-b{grid-area:b}.ds-prow-d{grid-area:d;white-space:normal}.ds-prow-s{grid-area:s;justify-content:flex-start}}.ds-prog-note{display:flex;align-items:flex-start;gap:var(--ds-space-2);margin:0 0 var(--ds-space-4);font-size:var(--ds-fs-meta);color:var(--ds-color-slate)}.ds-prog-note .ds-ic{margin-top:2px}.ds-prog-empty{margin-top:var(--ds-space-7)}@media (max-width:1180px){.ds-prog-top{grid-template-columns:minmax(0,1fr)}}@media (max-width:899px){.ds-prog{display:flex;flex-direction:column}.ds-prog-top{display:contents}.ds-prog-top>.ds-hero{order:1;margin-top:var(--ds-space-5)}.ds-prog-mods{order:4;margin-top:var(--ds-space-8)}.ds-prog-sec-h h2{font-size:var(--ds-fs-2xl)}}.ds-intro{position:relative;margin-top:calc(var(--ds-space-6) * var(--ds-k-space));padding:calc(26px * var(--ds-k-space));border-radius:var(--ds-radius-3xl);background:var(--ds-color-card);box-shadow:var(--ds-shadow)}.ds-intro-top{display:flex;align-items:flex-start;gap:14px;padding-right:var(--ds-space-12)}.ds-intro-t{font:700 var(--ds-fs-4xl) /var(--ds-lh-heading) var(--ds-font-display)}.ds-intro-d{max-width:44em;margin-top:6px;color:var(--ds-color-slate)}.ds-intro-x{position:absolute;top:14px;right:14px}.ds-intro-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch;margin-top:var(--ds-space-5)}.ds-intro-step{display:flex;flex-direction:column;gap:var(--ds-space-2);padding:var(--ds-space-4);border:0;border-radius:var(--ds-radius-xl);background:var(--ds-color-page);color:var(--ds-color-text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.ds-intro-step:hover{background:var(--ds-color-sand-50)}.ds-intro-step:focus-visible{outline:var(--ds-focus-width) solid var(--ds-color-focus);outline-offset:var(--ds-focus-offset)}.ds-intro-n{font-size:var(--ds-fs-sm);font-weight:700;color:var(--ds-color-slate)}.ds-intro-st{font-weight:700;line-height:var(--ds-lh-snug)}.ds-intro-sd{color:var(--ds-color-slate)}.ds-intro-sa,.ds-intro-sd{font-size:var(--ds-fs-meta)}.ds-intro-sa{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:var(--ds-space-1);font-weight:600}.ds-intro-f{display:flex;flex-wrap:wrap;align-items:center;gap:10px var(--ds-space-4);margin-top:18px}@media (max-width:899px){.ds-intro{padding:var(--ds-space-5)}.ds-intro-t{font-size:var(--ds-fs-3xl)}.ds-intro-steps{grid-template-columns:minmax(0,1fr)}}.ds-nlp{max-width:var(--ds-page-narrow);margin:0 auto}.ds-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:-10px 0 2px -2px;padding:0 6px 0 2px;border-radius:var(--ds-radius-md);color:var(--ds-color-text);font-size:var(--ds-fs-md);font-weight:600;text-decoration:none}.ds-back:hover{text-decoration:underline;text-underline-offset:3px}.ds-back:focus-visible{outline:var(--ds-focus-width) solid var(--ds-color-focus);outline-offset:var(--ds-focus-offset)}.ds-nl-sec{margin-top:var(--ds-space-7)}.ds-nlp .ds-ph+.ds-nl-sec{margin-top:var(--ds-space-4)}.ds-nl-h{display:flex;align-items:center;gap:var(--ds-space-2);margin-bottom:var(--ds-space-3);font-size:var(--ds-fs-xl);font-weight:700}.ds-nl-c{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:var(--ds-radius-pill);background:var(--ds-color-surface);color:var(--ds-color-slate);font-size:var(--ds-fs-sm);font-weight:700}.ds-nl{display:grid;padding:6px var(--ds-space-3);border-radius:var(--ds-radius-card);background:var(--ds-color-card);box-shadow:var(--ds-shadow)}.ds-nl>li+li{border-top:1px solid var(--ds-color-line)}.ds-nl-i{display:grid;grid-template-columns:8px 40px minmax(0,1fr) auto 18px;align-items:center;column-gap:14px;width:100%;min-height:76px;padding:14px var(--ds-space-2);border:0;border-radius:var(--ds-radius-lg);background:none;color:var(--ds-color-text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.ds-nl-i:hover{background:var(--ds-color-hover)}.ds-nl-i:hover .ds-nl-t{text-decoration:underline;text-underline-offset:3px}.ds-nl-i:focus-visible{outline:var(--ds-focus-width) solid var(--ds-color-focus);outline-offset:0}.ds-nl-dot{width:8px;height:8px;border-radius:50%}.ds-nl-i.is-new .ds-nl-dot{background:var(--ds-color-gold-text)}.ds-nl-b{display:grid;gap:2px;min-width:0}.ds-nl-t{font-size:var(--ds-fs-base);font-weight:500;line-height:1.4}.ds-nl-i.is-new .ds-nl-t{font-weight:700}.ds-nl-x{line-height:1.45}.ds-nl-d,.ds-nl-x{font-size:var(--ds-fs-meta);color:var(--ds-color-slate)}.ds-nl-d{align-self:start;padding-top:3px;white-space:nowrap}.ds-nl-i.no-x .ds-nl-d{align-self:center;padding-top:0}.ds-nl-chev{align-self:start;margin-top:7px;color:var(--ds-color-slate)}.ds-nl-i.no-x .ds-nl-chev{align-self:center;margin-top:0}@media (max-width:600px){.ds-nl{padding:var(--ds-space-1) var(--ds-space-2)}.ds-nl-i{grid-template-columns:8px 32px minmax(0,1fr) auto;column-gap:10px;padding:var(--ds-space-3) var(--ds-space-1)}.ds-nl-i .ds-tile{width:32px;height:32px}.ds-nl-chev{display:none}.ds-nl-d{font-size:var(--ds-fs-sm)}}.ds-ev-sum{display:flex;align-items:center;gap:14px;padding:var(--ds-space-4);border-radius:var(--ds-radius-xl);background:var(--ds-color-surface)}.ds-ev-t{font-weight:700}.ds-dlg .ds-mat-i{min-height:64px;color:inherit;text-decoration:none}.ds-prog-newsrow{margin-top:calc(var(--ds-space-6) * var(--ds-k-space))}.ds-prog-newsrow .ds-nc-txt{display:block;-webkit-line-clamp:unset}@media (min-width:1181px){.ds-prog-newsrow .ds-nc-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-space-4);margin-top:var(--ds-space-2)}.ds-prog-newsrow .ds-nc-list>li{border-top:0}.ds-prog-newsrow .ds-nc-i{flex:1;align-items:stretch}.ds-prog-newsrow .ds-nc-dot{align-self:start}.ds-prog-newsrow .ds-nc-b{grid-template-rows:1fr auto;row-gap:var(--ds-space-3)}.ds-prog-newsrow .ds-nc-d{display:block;margin:0 0 2px}}@media (max-width:899px){.ds-prog-newsrow{order:3;margin-top:var(--ds-space-5)}}.ds-start{margin-top:calc(var(--ds-space-7) * var(--ds-k-space))}.ds-start-t{font:700 var(--ds-fs-4xl) /var(--ds-lh-heading) var(--ds-font-display)}.ds-start-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--ds-space-5) * var(--ds-k-space));margin-top:var(--ds-space-4)}.ds-start-card{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;padding:calc(var(--ds-space-6) * var(--ds-k-space));border-radius:var(--ds-radius-3xl);background:var(--ds-color-card);box-shadow:var(--ds-shadow)}.ds-start-card.is-current{background:var(--ds-glow-hero),var(--ds-color-inverse);color:var(--ds-color-on-inverse);box-shadow:var(--ds-shadow-lg)}.ds-start-card.is-done{box-shadow:0 0 0 1px var(--ds-color-card-border)}.ds-start-n{display:flex;align-items:center;gap:8px;font-size:var(--ds-fs-meta);font-weight:600;color:var(--ds-color-slate)}.ds-start-card.is-current .ds-start-n{color:var(--ds-color-gold)}.ds-start-card.is-done .ds-start-n{color:var(--ds-color-done)}.ds-start-num{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:50%;background:var(--ds-color-surface);color:var(--ds-color-text);font-size:var(--ds-fs-sm);font-weight:700}.ds-start-card.is-current .ds-start-num{background:var(--ds-color-gold);color:var(--ds-color-on-gold)}.ds-start-card.is-done .ds-start-num{background:var(--ds-color-done);color:var(--ds-color-on-inverse)}.ds-start-card.is-current:has(>.ds-start-ca>a.ds-btn--primary){cursor:pointer;transition:transform var(--ds-duration),box-shadow var(--ds-duration)}.ds-start-card.is-current>.ds-start-ca>a.ds-btn--primary:after{content:"";position:absolute;inset:0;border-radius:inherit}.ds-start-card.is-current :is(.ds-start-cd a,.ds-start-tgl){position:relative;z-index:1}.ds-start-card.is-current:has(>.ds-start-ca>a.ds-btn--primary):hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(var(--ds-shadow-ink),.12),0 24px 52px rgba(var(--ds-shadow-ink),.22)}.ds-start-card.is-current:has(>.ds-start-ca>a.ds-btn--primary):hover .ds-btn--primary{background:var(--ds-color-gold-hover)}.ds-start-ct{font:700 var(--ds-fs-2xl) /var(--ds-lh-heading) var(--ds-font-display)}.ds-start-card.is-current .ds-start-ct{color:var(--ds-color-on-inverse)}.ds-start-cd{color:var(--ds-color-slate)}.ds-start-card.is-current .ds-start-cd{color:var(--ds-color-on-dark-2)}.ds-start-ca{flex-wrap:wrap;gap:8px 12px;margin-top:auto;padding-top:var(--ds-space-4)}.ds-start-ca,.ds-start-top{display:flex;align-items:center}.ds-start-top{justify-content:space-between;gap:12px;min-height:26px}.ds-start-tgl{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:-9px -4px -9px auto;padding:0 4px;border:0;border-radius:var(--ds-radius-md);background:none;font:600 var(--ds-fs-meta) /1 var(--ds-font-body);color:var(--ds-color-slate);cursor:pointer}.ds-start-tgl-box{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--ds-color-ctrl);background:var(--ds-color-card);color:transparent}@media (hover:hover){.ds-start-tgl:hover{color:var(--ds-color-text)}.ds-start-tgl:hover .ds-start-tgl-box{border-color:var(--ds-color-text)}}.ds-start-tgl:focus-visible{outline:var(--ds-focus-width) solid var(--ds-color-focus);outline-offset:var(--ds-focus-offset)}.ds-start-tgl.is-on{color:var(--ds-color-done)}.ds-start-tgl.is-on .ds-start-tgl-box{background:var(--ds-color-done);border-color:var(--ds-color-done);color:var(--ds-color-on-inverse)}.ds-start-card.is-current .ds-start-tgl{color:var(--ds-color-on-dark-2)}.ds-start-card.is-current .ds-start-tgl-box{border-color:var(--ds-color-on-dark-2);background:transparent}.ds-start-card.is-current .ds-start-tgl:focus-visible{outline-color:var(--ds-color-focus-on-inverse)}@media (max-width:1180px){.ds-start-cards{grid-template-columns:minmax(0,1fr)}}@media (max-width:899px){.ds-start{order:1;margin-top:var(--ds-space-5)}.ds-start-card.is-done{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:var(--ds-space-4) var(--ds-space-5)}.ds-start-card.is-done .ds-start-n{padding-right:0;font-size:0;gap:0}.ds-start-card.is-done .ds-start-num{font-size:var(--ds-fs-sm)}.ds-start-card.is-done .ds-start-ct{font-size:var(--ds-fs-lg);flex:1 1 0;min-width:0}.ds-start-card.is-done :is(.ds-start-cd,.ds-start-ca){display:none}.ds-start-card.is-done .ds-start-top{display:contents}.ds-start-card.is-done .ds-start-tgl{order:3;margin:0}}.ds-pbanner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ds-space-5) var(--ds-space-7);align-items:start;margin-top:calc(var(--ds-space-7) * var(--ds-k-space))}.ds-pbanner-a{margin-top:var(--ds-space-5)}.ds-pbanner-cd{justify-self:end}.ds-pbanner-done{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-2) var(--ds-space-5);font-size:var(--ds-fs-sm-plus);color:var(--ds-color-on-dark-2)}.ds-pbanner-done>span{display:inline-flex;align-items:center;gap:6px}.ds-pbanner-done .ds-ic{color:var(--ds-color-on-dark-success)}@media (max-width:899px){.ds-pbanner{grid-template-columns:minmax(0,1fr);order:1;margin-top:var(--ds-space-5)}.ds-pbanner-cd{justify-self:stretch}.ds-pbanner .ds-live-count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ds-space-2)}.ds-pbanner .ds-live-unit{min-width:0;padding:10px 4px}.ds-pbanner .ds-live-num{font-size:calc(26px * var(--ds-k-display))}.ds-pbanner-a>.ds-btn{width:100%}}.ds-prog-bootcamp{margin-top:calc(var(--ds-space-6) * var(--ds-k-space))}.ds-prog-bootcamp-a{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-2);margin-top:var(--ds-space-3)}.ds-prog-bootcamp-a .ds-chip:not([aria-pressed=true]){background:var(--ds-color-card);box-shadow:inset 0 0 0 1px var(--ds-color-card-border)}.ds-start-ca:has(>.ds-hero-cta){display:grid;gap:var(--ds-space-3)}.ds-start-card:not(.is-current) .ds-hero-cta-n{color:var(--ds-color-slate)}.ds-start-ca>.ds-hero-cta{width:100%}.ds-start-ca .ds-hero-links{gap:var(--ds-space-1) var(--ds-space-4)}.ds-start-ca .ds-hero-links .ds-ic{display:none}