body.academy .academy-dashboard { max-width: 1280px; padding-block: 56px 64px; }
body.academy .academy-dashboard > .academy-eyebrow { font-size: 20px; line-height: 1.4; }
body.academy .academy-dashboard > .academy-eyebrow::before { height: 22px; }
body.academy .academy-dashboard h1 { font-size: 64px; overflow-wrap: anywhere; }
body.academy .academy-dashboard > .academy-lede { margin-top: 12px; font-size: 30px; }
.academy-course-tabs { margin: 20px 0; gap: 44px; }
body.academy .academy-resume { grid-template-columns: 105px minmax(0,1fr) auto; gap: 12px 28px; padding: 32px; margin: 22px 0; }
.academy-resume .academy-ring { grid-row: 1 / 4; }
body.academy .academy-resume > .academy-button { grid-column: 3; grid-row: 1; }
body.academy .academy-resume h2 { font-size: 32px; margin: 0; }
.academy-resume .academy-eyebrow::before { display: none; }
.dashboard-progress { grid-column: 2 / 4; width: 100%; height: 7px; }
progress { appearance: none; border: 0; border-radius: 6px; overflow: hidden; background: #d0d0d0; }
progress::-webkit-progress-bar { background: #d0d0d0; }
progress::-webkit-progress-value { background: #171717; border-radius: 6px; }
progress::-moz-progress-bar { background: #171717; }
.dashboard-progress::-webkit-progress-bar { background: #555; }
.dashboard-progress::-webkit-progress-value, .is-current progress::-webkit-progress-value { background: #e44436; }
.dashboard-progress::-moz-progress-bar, .is-current progress::-moz-progress-bar { background: #e44436; }
.dashboard-progress-line { grid-column: 2 / 4; display: flex; justify-content: space-between; gap: 16px; font-size: 12px; color: #ddd; }
.academy-download { margin-block: 24px 30px; padding-block: 26px; }
.academy-curriculum-heading { margin-bottom: 12px; }
.dashboard-legend { display: flex; justify-content: flex-end; gap: 24px; font-size: 12px; color: #666; margin-bottom: 24px; }
.dashboard-legend span { display: inline-flex; gap: 10px; align-items: center; }
.dashboard-legend span::before { content: ''; width: 17px; height: 17px; border: 2px solid #999; border-radius: 50%; }
.dashboard-legend .done::before { content: '\2713'; background: #171717; border-color: #171717; color: white; text-align: center; }
.dashboard-legend .active::before { border-color: #e44436; background: #e44436; box-shadow: inset 0 0 0 4px #f7f7f5; }
.academy-dashboard #curriculum { position: relative; }
.academy-dashboard #curriculum::before { content: ''; position: absolute; left: 20px; top: 24px; bottom: 24px; width: 1px; background: #ccc; }
body.academy .academy-dashboard .academy-module summary { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr) 110px 150px 16px; gap: 18px; padding: 24px 12px 24px 64px; font-size: 23px; }
.academy-dashboard .academy-module summary::before { content: ''; position: absolute; left: 2px; top: 20px; width: 34px; height: 34px; border: 2px solid #999; border-radius: 50%; background: #f7f7f5; box-shadow: 0 0 0 5px #f7f7f5; }
.academy-dashboard .academy-module.is-complete summary::before { content: '\2713'; background: #171717; border-color: #171717; color: white; display: grid; place-items: center; font: 20px var(--sans); }
.academy-dashboard .academy-module.is-current summary::before { border-color: #e44436; background: #e44436; box-shadow: inset 0 0 0 7px #f7f7f5, 0 0 0 5px #f7f7f5; }
body.academy .academy-dashboard .academy-module-number { background: none; color: #555; width: auto; height: auto; font: 16px var(--sans); }
body.academy .academy-dashboard .academy-module-progress { grid-column: auto; margin: 0; font-size: 11px; }
.dashboard-module-meter { width: 100%; height: 5px; }
body.academy .academy-dashboard .academy-module summary::after { content: ''; width: 8px; height: 8px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); grid-column: auto; grid-row: auto; }
body.academy .academy-dashboard .academy-module[open] summary::after { transform: rotate(225deg); }
body.academy .academy-dashboard .academy-lesson-row { position: relative; display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: 18px; margin-left: 48px; padding: 16px 12px 16px 64px; border: 0; font-size: 14px; }
.academy-dashboard .academy-lesson-row::before { content: ''; position: absolute; left: 18px; top: 16px; width: 22px; height: 22px; border: 2px solid #999; border-radius: 50%; }
.academy-dashboard .academy-lesson-row.is-complete::before { content: '\2713'; background: #171717; border-color: #171717; color: white; display: grid; place-items: center; font-size: 13px; }
.academy-dashboard .academy-lesson-row.is-current { background: #e4443609; box-shadow: inset 3px 0 #e44436; }
.academy-dashboard .academy-lesson-row.is-current::before { border-color: #e44436; }
.dashboard-lesson-number { font-size: 11px; text-transform: uppercase; color: #666; }
.academy-dashboard .is-current .academy-lesson-status { color: #c72f29; }
.academy-dashboard .is-complete .academy-lesson-status { color: #666; }
@media(max-width:1000px) {
  body.academy .academy-dashboard .academy-module summary { grid-template-columns: 30px minmax(0,1fr) 100px 80px 12px; gap: 12px; }
  body.academy .academy-resume { grid-template-columns: 90px minmax(0,1fr); }
  body.academy .academy-resume > .academy-button { grid-column: 2; grid-row: 2; justify-self: start; }
  .dashboard-progress, .dashboard-progress-line { grid-column: 2; }
}
@media(max-width:760px) {
  body.academy .academy-dashboard h1 { font-size: 42px; }
  body.academy .academy-dashboard > .academy-eyebrow { font-size: 16px; }
  body.academy .academy-dashboard > .academy-lede { font-size: 23px; }
  body.academy .academy-resume { padding: 22px; grid-template-columns: 65px minmax(0,1fr); gap: 16px; }
  body.academy .academy-resume h2 { font-size: 24px; }
  .dashboard-progress, .dashboard-progress-line { grid-column: 1 / -1; }
  .academy-resume .academy-ring { grid-row: 1; }
  .dashboard-progress-line { font-size: 11px; }
  .dashboard-legend { justify-content: flex-start; flex-wrap: wrap; gap: 16px; }
  body.academy .academy-dashboard .academy-module summary { grid-template-columns: 28px minmax(0,1fr) 12px; padding-left: 50px; font-size: 19px; }
  body.academy .academy-dashboard .academy-module-progress { grid-column: 2; }
  .dashboard-module-meter { grid-column: 2; }
  body.academy .academy-dashboard .academy-module summary::after { grid-column: 3; grid-row: 1; }
  body.academy .academy-dashboard .academy-lesson-row { grid-template-columns: minmax(0,1fr); margin-left: 40px; padding-left: 42px; gap: 6px; }
  .academy-dashboard .academy-lesson-row::before { left: 8px; }
  .academy-dashboard .academy-lesson-status { display: block; }
}
