/* Consumer training: clear actions, editorial rhythm, glass on navigation. */
body { background: #f5f6f7; }
.brand-wordmark { font-size: 15px; font-weight: 800; letter-spacing: .045em; }
.shell .sidebar { max-width: 1456px; border-radius: 19px; height: 74px; }
.shell .nav button { border-radius: 12px; font-size: 12px; font-weight: 650; }
.shell .nav button.active { color: #174aaa; }
.shell .brand img { width: 29px; height: 34px; }
.consumer-shell { --ink: #171b22; --muted: #666c77; --line: #dfe2e7; }
.consumer-shell .main { max-width: 1320px; padding: 0 32px 65px; }
.consumer-shell .main .topbar { margin: 8px 0 19px; min-height: 44px; padding: 9px 0; }
.consumer-shell .top-status, .consumer-shell .breadcrumb { font-size: 10px; color: #626976; }
.consumer-shell .eyebrow, .training-kicker { font-size: 10px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.consumer-shell .btn { border-radius: 9px; min-height: 48px; padding: 13px 20px; box-shadow: none; }
.consumer-shell .btn.secondary, .consumer-shell .btn.outline { background: #fff; border-color: #d8dce4; color: #343e4e; }
.consumer-shell .btn.secondary:hover, .consumer-shell .btn.outline:hover { border-color: #839bc0; background: #f5f8ff; }
.consumer-shell .btn.text-btn { background: transparent; border-color: transparent; }
.consumer-shell .text-btn { font-size: 12px; }
.consumer-shell .page-heading h1 { font-size: clamp(34px, 3.6vw, 48px); letter-spacing: -.05em; font-weight: 650; }
.consumer-shell .page-heading p { max-width: 590px; color: var(--muted); }
.training-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 29px; }
.training-header > div { min-width: 0; }
.training-header .eyebrow { margin-bottom: 10px; color: #315d9c; }
.training-header h1 { font-size: clamp(36px, 3.75vw, 52px); line-height: 1.08; letter-spacing: -.055em; font-weight: 650; }
.training-header p, .training-header small { display: block; margin-top: 12px; font-size: 13px; color: var(--muted); }
.training-header > .btn { flex-shrink: 0; }
.consumer-shell .btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.consumer-shell .btn svg { width: 17px; height: 17px; flex-shrink: 0; }
.training-greeting { font-size: 12px; color: var(--muted); }
.training-layout { display: grid; grid-template-columns: minmax(0, 1fr) 305px; gap: 25px; align-items: stretch; }
.training-feature { position: relative; isolation: isolate; min-width: 0; min-height: 510px; display: flex; align-items: flex-end; padding: 37px; overflow: hidden; border-radius: 12px; background: #1d2631; color: #fff; }
.training-image { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.training-shade { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(5, 13, 25, .78), rgba(5, 13, 25, .28) 80%), linear-gradient(0deg, rgba(5, 13, 25, .86), rgba(5, 13, 25, 0) 80%); }
.training-copy { width: 100%; max-width: 610px; position: relative; padding-right: 72px; }
.training-kicker { display: inline-flex; align-items: center; gap: 9px; color: #dbe8ff; margin: 0 0 19px; }
.training-kicker::before { content: ''; width: 6px; height: 6px; background: #87adff; flex-shrink: 0; }
.training-copy h2 { max-width: 11.5ch; color: #fff; font-size: clamp(44px, 4.5vw, 64px); font-weight: 750; letter-spacing: -.055em; line-height: 1.02; text-wrap: balance; }
.training-copy > p { color: #e0e4eb; max-width: 355px; font-size: 13px; line-height: 1.65; margin: 19px 0 0; }
.training-copy .button-row { margin-top: 26px; gap: 11px; }
.training-copy .btn { min-height: 49px; }
.training-copy .btn.outline, .training-copy .btn.secondary { border-color: rgba(255, 255, 255, .35); color: #fff; background: rgba(255, 255, 255, .09); }
.training-copy .btn.outline:hover, .training-copy .btn.secondary:hover { background: rgba(255, 255, 255, .18); }
.training-stamp { position: absolute; right: 25px; bottom: 35px; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; max-width: 120px; font-size: 9px; line-height: 1.5; color: #d9e0ed; text-align: right; letter-spacing: .04em; }
.training-stamp strong { display: block; color: #fff; font-size: 14px; font-weight: 800; letter-spacing: .01em; }
.training-stamp span { display: block; }
.training-rail { display: flex; flex-direction: column; min-width: 0; padding: 26px 24px 22px; border: 1px solid #e1e4e9; border-radius: 12px; background: #fff; }
.rail-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 25px; }
.rail-heading h2 { font-size: 26px; line-height: 1.15; font-weight: 600; letter-spacing: -.045em; }
.rail-heading > span { font-size: 10px; color: #687280; }
.rail-count { display: flex; align-items: center; gap: 15px; margin: 0 0 19px; padding: 1px 0 22px; border-bottom: 1px solid var(--line); }
.rail-count strong { font-size: 58px; line-height: 1; font-weight: 650; letter-spacing: -.06em; color: #1b2230; }
.rail-count span { max-width: 115px; font-size: 11px; line-height: 1.6; color: #667080; }
.training-step { display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; min-height: 74px; padding: 15px 0; background: transparent; color: var(--ink); border: 0; border-bottom: 1px solid #e7e9ed; text-align: left; text-decoration: none; }
.training-step .step-number { flex: 0 0 23px; font-size: 10px; font-weight: 650; color: #717b8c; font-variant-numeric: tabular-nums; align-self: flex-start; padding-top: 3px; }
.training-step .step-info { display: block; flex: 1; min-width: 0; }
.training-step .step-info strong, .training-step .step-info h3 { display: block; font-size: 12px; line-height: 1.4; font-weight: 700; color: #303846; }
.training-step .step-info span, .training-step .step-info p, .training-step .step-info small { display: block; color: #6d7480; font-size: 10px; line-height: 1.5; margin-top: 5px; }
.training-step > svg { flex: 0 0 16px; width: 16px; height: 16px; color: #7c8798; }
.training-step.active, .training-step.chosen, .training-step[aria-current='step'] { color: #1c53b4; }
.training-step.active .step-number, .training-step.chosen .step-number, .training-step.active .step-info strong, .training-step.chosen .step-info strong { color: #1c53b4; }
button.training-step:hover { background: #f5f8fd; }
button.training-step:disabled { opacity: .65; cursor: default; }
button.training-step:disabled:hover { background: transparent; }
.training-step.completed .step-number { color: #1857cc; }
.rail-note { margin-top: auto; padding-top: 23px; font-size: 10px; line-height: 1.65; color: #717987; }
.rail-note strong { color: #3f4a5c; }
.training-lower { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 38px; margin-top: 36px; }
.activity-panel { min-width: 0; padding: 0; }
.activity-panel > h2, .activity-panel .surface-heading h2 { font-size: 18px; font-weight: 700; letter-spacing: -.03em; }
.activity-panel .surface-heading { margin-bottom: 7px; }
.activity-list { margin: 0; padding: 0; list-style: none; }
.activity-item { display: flex; align-items: center; gap: 14px; min-height: 80px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.activity-item > .avatar { flex: 0 0 35px; width: 35px; height: 35px; border-radius: 9px; font-size: 11px; color: #2458ae; background: #e8eef9; }
.activity-item > div:not(.avatar) { flex: 1; min-width: 0; }
.activity-item h3, .activity-item strong { color: #323a48; font-size: 13px; font-weight: 650; }
.activity-item p, .activity-item small { display: block; margin-top: 4px; color: #6b7481; font-size: 11px; }
.activity-item .badge { flex-shrink: 0; font-size: 9px; }
.training-empty { display: flex; gap: 18px; align-items: center; padding: 28px 0; color: var(--muted); }
.training-empty svg { width: 28px; height: 28px; flex-shrink: 0; color: var(--accent); }
.training-empty h3 { font-size: 16px; font-weight: 600; }
.training-empty p { margin-top: 7px; font-size: 12px; }
.feedback-editorial { padding: 22px 0; }
.feedback-editorial h3 { font-size: 23px; line-height: 1.35; margin: 12px 0; max-width: 32ch; }
.feedback-editorial p { font-size: 13px; color: var(--muted); }
.coach-note { padding: 24px 0 0 28px; border-left: 1px solid #d8dde6; }
.coach-note .eyebrow { font-size: 9px; color: #3768ad; margin-bottom: 13px; }
.coach-note h2 { max-width: 16ch; font-size: 28px; font-weight: 650; line-height: 1.17; letter-spacing: -.045em; }
.coach-note p { font-size: 12px; color: #687281; line-height: 1.75; margin-top: 13px; max-width: 340px; }
.coach-note .btn, .coach-note .text-btn { margin-top: 16px; }
.training-toolbar { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 23px; padding: 13px 0 0; border-top: 1px solid var(--line); }
.training-toolbar .btn, .training-toolbar button, .training-toolbar a { min-height: 44px; padding: 10px 0; border: 0; border-radius: 0; box-shadow: none; background: none; color: #40526d; text-decoration: none; font-size: 11px; font-weight: 600; }
.training-toolbar button:hover, .training-toolbar a:hover { color: #174aaa; text-decoration: underline; text-underline-offset: 4px; }
.consumer-shell .quiet-note { margin-top: 18px; }
.consumer-shell .card, .consumer-shell .surface, .consumer-shell .review-reason { border-radius: 10px; background: #fff; border: 1px solid #e0e4e9; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.consumer-shell .pad { padding: 25px; }
.consumer-shell .card-head { padding: 19px 25px; }
.consumer-shell .row { padding: 18px 23px; }
.consumer-shell .surface { padding: 24px; }
.consumer-shell .section-heading { margin-top: 27px; }
.consumer-shell .context-nav { padding: 0; gap: 24px; border: 0; border-bottom: 1px solid #dbe0e8; border-radius: 0; background: transparent; width: 100%; margin-bottom: 28px; }
.consumer-shell .context-nav button { padding: 12px 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; font-size: 12px; background: transparent; box-shadow: none; }
.consumer-shell .context-nav button[aria-current='page'], .consumer-shell .context-nav button.active { color: #1c53b4; border-bottom-color: #2459b8; }
.consumer-shell input, .consumer-shell textarea, .consumer-shell select { border-radius: 8px; background: #fff; }
.consumer-shell .upload, .consumer-shell .subtle-box, .consumer-shell .choice { border-radius: 8px; }
.consumer-shell .review-reason { border-left: 3px solid #2459b8; }
.consumer-shell .lesson-layout { grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr); gap: 24px; }
.consumer-shell .video-frame { background: #111721; }
.consumer-shell .video-frame video, .consumer-shell .video-frame img { object-fit: contain; }
.film-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(270px, 1fr); align-items: start; gap: 28px; margin: 24px 0; }
.film-layout > .card { overflow: hidden; }
.film-layout .video-frame { aspect-ratio: 16/10; background: #0e1520; }
.film-layout .media-caption { padding: 16px 20px; font-size: 11px; background: #fff; }
.film-aside { padding: 12px 0; min-width: 0; }
.film-aside .eyebrow { color: #315d9c; }
.film-aside h2 { font-size: 32px; line-height: 1.12; letter-spacing: -.045em; margin-bottom: 15px; }
.film-aside p { font-size: 13px; color: #656e7b; line-height: 1.75; }
.film-aside .btn { margin-top: 23px; }
.film-facts { display: grid; margin-top: 24px; }
.film-facts span { padding: 13px 0; font-size: 11px; color: var(--muted); border-bottom: 1px solid var(--line); }
.film-aside dl { margin: 25px 0; }
.film-aside dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.film-aside dt, .film-aside dd { margin: 0; font-size: 11px; }
.film-aside dt { color: #707988; }
.film-aside dd { color: #263348; font-weight: 600; }
.training-progress { display: flex; width: 100%; gap: 16px; margin: 24px 0 28px; }
.training-progress > span, .training-progress > div, .training-progress > button { flex: 1; min-width: 0; padding: 12px 0 0; border-top: 2px solid #d9dee6; background: transparent; border-radius: 0; color: #6c7685; font-size: 10px; text-align: left; }
.training-progress .active, .training-progress .done { color: #2154a9; border-top-color: #2e63bb; }
.training-progress strong { display: block; color: inherit; font-size: 11px; font-weight: 650; }
.login.consumer-login { display: grid; grid-template-columns: minmax(0, 1.13fr) minmax(370px, 1fr); place-items: stretch; min-height: 100dvh; padding: 0; gap: 0; background: #f6f7f9; }
.login-editorial { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 100dvh; padding: 62px 64px; color: #fff; overflow: hidden; background: #1746a0; }
.login-index { position: absolute; top: 44px; left: 64px; font-size: 10px; letter-spacing: .15em; font-weight: 650; color: #cedcf6; }
.login-statement { position: relative; display: flex; flex-direction: column; gap: 0; color: #fff; font-size: clamp(42px, 5.4vw, 82px); font-weight: 800; letter-spacing: -.055em; line-height: 1.04; }
.login-statement span { display: block; color: inherit; }
.login-statement span:nth-child(2) { color: #b5caf3; }
.login-statement .outline-word { color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .9); }
.login-editorial-foot { position: absolute; left: 64px; right: 64px; bottom: 43px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .25); color: #d7e2f7; font-size: 11px; letter-spacing: .01em; }
.login-editorial-foot span { display: block; margin-top: 5px; }
.consumer-login .login-inner { align-self: center; justify-self: center; width: calc(100% - 80px); max-width: 375px; padding: 38px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.consumer-login .login-brand { margin-bottom: 49px; gap: 12px; }
.consumer-login .login-brand img { width: 38px; height: 42px; }
.consumer-login .login-brand .brand-wordmark { font-size: 15px; font-weight: 800; letter-spacing: .055em; }
.consumer-login .login-heading { margin-bottom: 30px; }
.consumer-login .login-heading h1 { font-size: 37px; font-weight: 650; letter-spacing: -.05em; }
.consumer-login .login-heading p { font-size: 13px; color: #626b7b; }
.consumer-login .field span { font-size: 11px; color: #465267; }
.consumer-login .field input { border-radius: 8px; min-height: 49px; background: #fff; }
.consumer-login .btn { border-radius: 8px; box-shadow: none; }
.consumer-login .login-foot { border-top: 1px solid #dce1e9; padding-top: 17px; }
@media (min-width: 801px) and (max-width: 1120px) {
  .brand-wordmark { font-size: 12px; letter-spacing: .02em; }
  .shell .sidebar { padding-inline: 16px; }
  .consumer-shell .main { padding-inline: 14px; }
  .training-layout { grid-template-columns: minmax(0, 1fr) 265px; gap: 19px; }
  .training-feature { padding: 30px; min-height: 525px; }
  .training-copy { padding-right: 0; padding-bottom: 34px; }
  .training-copy h2 { font-size: 49px; }
  .training-stamp { right: 26px; bottom: 20px; flex-direction: row; align-items: center; max-width: none; gap: 9px; }
  .training-stamp strong { font-size: 10px; }
  .training-stamp span { font-size: 9px; }
  .training-rail { padding: 24px 20px; }
  .training-lower { gap: 25px; }
  .login-editorial { padding: 50px 37px; }
  .login-index, .login-editorial-foot { left: 37px; right: 37px; }
  .login-statement { font-size: 57px; }
  .consumer-login .login-inner { width: calc(100% - 52px); }
}
@media (max-width: 800px) {
  .shell .sidebar { height: 58px; border-radius: 0; }
  .shell .brand { gap: 8px; }
  .shell .brand img { width: 26px; height: 31px; }
  .brand-wordmark { font-size: 12px; letter-spacing: .035em; }
  .shell .nav { border-radius: 19px; }
  .shell .nav button { font-size: 10px; border-radius: 14px; }
  .consumer-shell .main { padding: 0 0 calc(108px + env(safe-area-inset-bottom)); }
  .consumer-shell .main .topbar { margin: 5px 0 23px; min-height: 28px; }
  .consumer-shell .top-status, .consumer-shell .breadcrumb { font-size: 9px; }
  .training-header { align-items: flex-start; margin-bottom: 23px; gap: 15px; flex-wrap: wrap; }
  .training-header h1 { font-size: 36px; line-height: 1.08; max-width: 12ch; }
  .training-header p, .training-header small { margin-top: 10px; font-size: 12px; }
  .training-header .eyebrow { font-size: 9px; margin-bottom: 9px; }
  .training-header > .btn { min-height: 44px; font-size: 11px; padding: 11px 14px; }
  .training-layout { grid-template-columns: 1fr; gap: 19px; }
  .training-feature { min-height: 448px; padding: 27px 25px; border-radius: 10px; }
  .training-copy { padding: 58px 0 0; max-width: none; }
  .training-copy h2 { font-size: 40px; max-width: 11ch; }
  .training-copy > p { margin-top: 17px; font-size: 12px; max-width: 290px; }
  .training-kicker { font-size: 9px; margin-bottom: 16px; }
  .training-copy .button-row { gap: 9px; margin-top: 24px; }
  .training-copy .btn { font-size: 11px; padding: 12px 15px; min-height: 46px; }
  .training-stamp { top: 23px; right: 23px; bottom: auto; gap: 3px; font-size: 8px; }
  .training-stamp strong { font-size: 11px; }
  .training-rail { padding: 24px; border-radius: 10px; }
  .rail-heading { margin-bottom: 14px; }
  .rail-count { margin-bottom: 7px; padding-bottom: 19px; }
  .rail-count strong { font-size: 46px; }
  .rail-count span { max-width: none; font-size: 11px; }
  .training-step { min-height: 76px; padding: 16px 0; }
  .training-step .step-info strong, .training-step .step-info h3 { font-size: 13px; }
  .training-step .step-info p, .training-step .step-info span, .training-step .step-info small { font-size: 11px; }
  .rail-note { padding-top: 19px; }
  .training-lower { grid-template-columns: 1fr; gap: 30px; margin-top: 30px; }
  .activity-item { padding: 16px 0; gap: 12px; }
  .activity-item h3, .activity-item strong { font-size: 12px; }
  .activity-item p { font-size: 10px; }
  .activity-item .badge { font-size: 8px; padding: 5px 7px; }
  .coach-note { padding: 24px 0 0; border-left: 0; border-top: 1px solid #d8dde6; }
  .coach-note h2 { font-size: 28px; }
  .training-toolbar { gap: 8px 22px; margin-top: 24px; padding-top: 10px; }
  .training-toolbar button, .training-toolbar a, .training-toolbar .btn { font-size: 10px; }
  .consumer-shell .page-heading h1 { font-size: 34px; }
  .consumer-shell .pad, .consumer-shell .surface { padding: 21px; }
  .consumer-shell .card-head { padding: 18px 21px; }
  .consumer-shell .row { padding: 17px 20px; }
  .consumer-shell .context-nav { gap: 23px; margin-bottom: 25px; }
  .consumer-shell .lesson-layout, .film-layout { grid-template-columns: 1fr; gap: 22px; }
  .film-layout { margin: 19px 0; }
  .film-layout .video-frame { aspect-ratio: 16/10; }
  .film-aside { padding: 0; }
  .film-aside h2 { font-size: 29px; }
  .film-aside p { font-size: 12px; }
  .film-aside .btn { margin-top: 18px; }
  .training-progress { gap: 8px; margin: 20px 0 24px; }
  .training-progress > span, .training-progress > div, .training-progress > button { font-size: 9px; padding-top: 9px; }
  .training-progress strong { font-size: 9px; }
  .login.consumer-login { grid-template-columns: 1fr; }
  .login-editorial { min-height: 0; padding: 57px 27px 29px; }
  .login-index { top: 22px; left: 27px; font-size: 8px; }
  .login-statement { font-size: clamp(37px, 8vw, 52px); line-height: 1.02; letter-spacing: -.045em; }
  .login-statement span:last-child { max-width: 9ch; }
  .login-editorial-foot { position: static; padding-top: 15px; margin-top: 23px; font-size: 9px; }
  .consumer-login .login-inner { width: calc(100% - 48px); max-width: 420px; padding: 34px 0 28px; }
  .consumer-login .login-brand { margin-bottom: 28px; }
  .consumer-login .login-brand img { width: 31px; height: 35px; }
  .consumer-login .login-brand .brand-wordmark { font-size: 13px; }
  .consumer-login .login-heading h1 { font-size: 31px; }
  .consumer-login .login-heading { margin-bottom: 26px; }
  .consumer-login .field input { font-size: 16px; }
}
@media (max-width: 360px) {
  .shell .brand { gap: 7px; }
  .brand-wordmark { font-size: 10px; letter-spacing: .035em; }
  .shell .brand img { width: 24px; height: 28px; }
  .training-header h1 { font-size: 33px; }
  .training-feature { padding: 25px 21px; min-height: 431px; }
  .training-copy h2 { font-size: 36px; }
  .training-copy > p { font-size: 11px; }
  .training-copy .btn { font-size: 10px; padding-inline: 12px; }
  .training-rail { padding: 21px; }
  .activity-item { gap: 9px; }
  .activity-item > .avatar { flex-basis: 31px; width: 31px; height: 31px; }
  .training-progress { gap: 6px; }
  .training-progress > span, .training-progress > div, .training-progress > button, .training-progress strong { font-size: 8px; }
  .consumer-login .login-inner { width: calc(100% - 42px); }
  .login-editorial { padding-inline: 23px; }
  .login-index { left: 23px; }
  .login-statement { font-size: 35px; }
}
@media (prefers-reduced-transparency: reduce) {
  .training-copy .btn.outline, .training-copy .btn.secondary { background: #303c50; }
}
@media (forced-colors: active) {
  .login-statement .outline-word { color: CanvasText; -webkit-text-stroke: 0; }
}

/* Drill submissions replace the featured source film. */
.training-upload { min-height: 410px; background: linear-gradient(125deg, #1746a0, #10316f); }
.training-upload .training-copy { padding-right: 0; }
.training-upload .training-copy .btn { color: #1648a6; background: #fff; border-color: #fff; }
.training-upload .training-copy .btn:hover { background: #e9f1ff; }
.drill-account-note { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 25px; margin: 0 0 28px; border: 1px solid #d4e1f5; border-radius: 12px; background: #edf3fc; }
.drill-account-note strong { font-size: 15px; }
.drill-account-note p { margin-top: 5px; font-size: 12px; color: #53647e; }
.drill-account-note .btn { flex-shrink: 0; }
@media(max-width:800px) {
 .training-upload { min-height: 340px; }
 .training-upload .training-copy { padding-top: 0; }
 .drill-account-note { align-items: flex-start; flex-direction: column; padding: 20px; gap: 14px; }
}

/* Keep the current action readable and close to the top on a phone. */
.training-upload { min-height: 330px; }
.training-upload .training-copy h2 { max-width: 16ch; font-size: clamp(34px, 4vw, 52px); }
.training-upload .training-copy > p { font-size: 15px; max-width: 42ch; }
.submission-row .grow { min-width: 0; }
.submission-row p { overflow-wrap: anywhere; }
.consumer-shell .field > span, .consumer-shell .check { font-size: 14px; }
.consumer-shell .btn { font-size: 14px; }
.consumer-shell .steps { flex-wrap: wrap; }
.consumer-shell .step { font-size: 12px; }
@media (max-width: 800px) {
  .consumer-shell { font-size: 16px; }
  .training-header h1 { font-size: 32px; }
  .consumer-shell .main .topbar { margin-bottom: 14px; }
  .training-upload { min-height: 0; padding: 25px 23px; }
  .training-upload .training-copy h2 { font-size: 34px; }
  .training-upload .training-copy > p { font-size: 15px; line-height: 1.5; margin-top: 14px; }
  .training-upload .button-row { margin-top: 20px; }
  .training-upload .btn { width: 100%; }
  .consumer-shell .page-heading p, .consumer-shell .small, .consumer-shell .muted-line,
  .consumer-shell .quiet-note p, .consumer-shell .check, .drill-account-note p,
  .training-empty p, .feedback-editorial p, .coach-note p { font-size: 14px; line-height: 1.55; }
  .consumer-shell .field > span, .consumer-shell .field small { font-size: 14px; }
  .consumer-shell .field input, .consumer-shell .field textarea, .consumer-shell .field select { font-size: 16px; }
  .training-step .step-info strong, .activity-item h3 { font-size: 15px; }
  .training-step .step-info small, .activity-item p, .rail-note { font-size: 13px; }
  .consumer-shell .badge, .activity-item .badge { font-size: 11px; }
  .consumer-shell .steps { gap: 8px 14px; }
  .consumer-shell .step { flex: 0 1 auto; min-width: 0; font-size: 12px; }
  .consumer-shell .submission-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; padding: 20px 16px; }
  .submission-row .circle { grid-column: 1; grid-row: 1; }
  .submission-row .grow { grid-column: 2 / -1; }
  .submission-row h3 { font-size: 16px; }
  .submission-row .badge { grid-column: 2; justify-self: start; }
  .submission-row > .btn { grid-column: 3; }
  .consumer-shell details > summary { min-height: 44px; padding-block: 11px; font-size: 14px; }
  .shell .nav button { font-size: 11px; }
  .consumer-shell input, .consumer-shell textarea, .consumer-shell select { scroll-margin-bottom: 115px; }
  .drill-upload-layout #practice { order: -1; }
}
