:root {
  --course-bg: #f4f2ed;
  --course-panel: #ffffff;
  --course-ink: #111113;
  --course-muted: #6d6a64;
  --course-line: #dedbd4;
  --course-accent: #4f4ec9;
  --course-accent-dark: #34339a;
  --course-accent-soft: #eeedfd;
  --course-green: #1e6a49;
  --course-green-soft: #e9f4ee;
  --course-serif: 'Playfair Display', Georgia, serif;
  --course-sans: 'DM Sans', system-ui, sans-serif;
}

* { box-sizing: border-box; }
body.course-body { margin: 0; min-height: 100vh; background: var(--course-bg); color: var(--course-ink); font-family: var(--course-sans); }
button, textarea, input { font: inherit; }
button { color: inherit; }

.course-shell { display: grid; min-height: 100vh; grid-template-columns: 272px minmax(0, 1fr); }
.course-sidebar { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 30px 24px 24px; border-right: 1px solid var(--course-line); background: #fff; }
.course-brand { display: flex; align-items: center; justify-content: space-between; margin-bottom: 40px; }
.course-brand a { font-family: var(--course-serif); font-size: 18px; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.course-brand span { border-radius: 99px; background: var(--course-accent-soft); color: var(--course-accent-dark); padding: 4px 9px; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.course-kicker { margin: 0 0 8px; color: var(--course-muted); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.course-sidebar h1 { margin: 0 0 24px; font-family: var(--course-serif); font-size: 25px; font-weight: 400; line-height: 1.15; }
.course-progress { margin-bottom: 30px; }
.progress-copy { display: flex; justify-content: space-between; margin-bottom: 8px; color: var(--course-muted); font-size: 11px; }
.progress-track { height: 5px; overflow: hidden; border-radius: 99px; background: #e8e5df; }
.progress-bar { width: 0; height: 100%; border-radius: inherit; background: var(--course-accent); transition: width .25s ease; }
.stage-nav { display: grid; gap: 8px; }
.stage-link { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 10px; min-height: 46px; border-radius: 9px; color: var(--course-muted); padding: 7px 9px; text-decoration: none; }
.stage-link:hover { background: #f7f6f3; color: var(--course-ink); }
.stage-link.active { background: var(--course-accent-soft); color: var(--course-accent-dark); }
.stage-number { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid var(--course-line); border-radius: 50%; background: #fff; font-size: 10px; font-weight: 700; }
.stage-link.active .stage-number { border-color: var(--course-accent); background: var(--course-accent); color: #fff; }
.stage-label { font-size: 12px; font-weight: 600; line-height: 1.2; }
.stage-state { color: #aaa59b; font-size: 10px; }
.course-sidebar-footer { margin-top: auto; padding-top: 24px; }
.privacy-chip { padding: 12px; border: 1px solid #dce9e1; border-radius: 9px; background: var(--course-green-soft); color: #315c49; font-size: 10px; line-height: 1.45; }
.course-sidebar-footer a { display: inline-block; margin-top: 15px; color: var(--course-muted); font-size: 11px; text-decoration: none; }

.course-main { min-width: 0; }
.course-topbar { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 38px; border-bottom: 1px solid var(--course-line); background: rgba(255,255,255,.86); backdrop-filter: blur(12px); }
.course-topbar p { margin: 0; color: var(--course-muted); font-size: 11px; }
.course-account-actions { display: flex; align-items: center; gap: 10px; }
.course-signout { border: 0; background: transparent; color: var(--course-muted); font-size: 10px; cursor: pointer; }
.course-signout:hover { color: var(--course-ink); }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.save-state { color: var(--course-muted); font-size: 10px; }
.avatar-mini { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: var(--course-ink); color: #fff; font-family: var(--course-serif); font-style: italic; }
.course-content { width: min(1160px, calc(100% - 64px)); margin: 0 auto; padding: 48px 0 80px; }
.lesson-heading { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 42px; align-items: end; margin-bottom: 34px; }
.lesson-heading .eyebrow { margin: 0 0 12px; color: var(--course-accent); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.lesson-heading h2 { max-width: 760px; margin: 0 0 16px; font-family: var(--course-serif); font-size: clamp(38px, 5vw, 62px); font-weight: 400; letter-spacing: -.025em; line-height: 1.04; }
.lesson-heading h2 em { color: var(--course-accent); font-weight: 400; }
.lesson-heading p { max-width: 710px; margin: 0; color: var(--course-muted); font-size: 15px; line-height: 1.65; }
.lesson-output { padding: 20px; border: 1px solid var(--course-line); border-radius: 12px; background: #fff; }
.lesson-output span { display: block; margin-bottom: 8px; color: var(--course-muted); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.lesson-output strong { display: block; font-family: var(--course-serif); font-size: 20px; font-weight: 400; line-height: 1.25; }

.lesson-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.workspace-panel, .guidance-card { border: 1px solid var(--course-line); border-radius: 15px; background: var(--course-panel); }
.workspace-panel { overflow: hidden; }
.workspace-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid var(--course-line); }
.workspace-head h3 { margin: 0 0 4px; font-size: 16px; font-weight: 600; }
.workspace-head p { margin: 0; color: var(--course-muted); font-size: 11px; }
.story-ready { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--course-line); border-radius: 99px; background: #fff; padding: 7px 11px; font-size: 10px; cursor: pointer; }
.story-ready[aria-pressed="true"] { border-color: #b9d9c8; background: var(--course-green-soft); color: var(--course-green); }
.story-tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-bottom: 1px solid var(--course-line); background: #faf9f7; }
.story-tab { min-width: 0; border: 0; border-right: 1px solid var(--course-line); background: transparent; padding: 13px 9px; color: var(--course-muted); text-align: left; cursor: pointer; }
.story-tab:last-child { border-right: 0; }
.story-tab.active { box-shadow: inset 0 -3px var(--course-accent); background: #fff; color: var(--course-ink); }
.story-tab span, .story-tab small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.story-tab span { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.story-tab small { margin-top: 3px; font-size: 9px; }
.story-form { padding: 26px; }
.field { display: grid; gap: 8px; margin-bottom: 20px; }
.field label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 11px; font-weight: 700; }
.field label span { color: var(--course-muted); font-size: 9px; font-weight: 400; }
.field input, .field textarea { width: 100%; border: 1px solid var(--course-line); border-radius: 9px; background: #fffefa; color: var(--course-ink); padding: 12px 13px; outline: 0; resize: vertical; transition: border-color .15s, box-shadow .15s; }
.field input:focus, .field textarea:focus { border-color: var(--course-accent); box-shadow: 0 0 0 3px var(--course-accent-soft); }
.field textarea { min-height: 88px; line-height: 1.55; }
.field textarea.raw-story { min-height: 190px; }
.field-hint { margin: -2px 0 0; color: var(--course-muted); font-size: 10px; line-height: 1.5; }
.form-divider { height: 1px; margin: 28px 0; background: var(--course-line); }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
.top-down-block { margin: 26px -26px -26px; padding: 26px; background: var(--course-accent-soft); }
.top-down-block h3 { margin: 0 0 6px; font-family: var(--course-serif); font-size: 25px; font-weight: 400; }
.top-down-block > p { margin: 0 0 20px; color: #52517b; font-size: 11px; }
.top-down-block .field input, .top-down-block .field textarea { background: #fff; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; }
.form-actions p { margin: 0; color: var(--course-muted); font-size: 10px; }
.course-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 8px; padding: 9px 15px; font-size: 11px; font-weight: 700; cursor: pointer; text-decoration: none; }
.course-button.primary { background: var(--course-accent); color: #fff; }
.course-button.secondary { border-color: var(--course-line); background: #fff; }

.lesson-side { display: grid; gap: 16px; }
.guidance-card { padding: 21px; }
.guidance-card .card-label { display: block; margin-bottom: 12px; color: var(--course-muted); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.video-card { min-height: 168px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; border-radius: 11px; background: radial-gradient(circle at 80% 20%, #6e6dd8 0, #4f4ec9 34%, #26255d 100%); color: #fff; padding: 20px; }
.video-card span { width: max-content; border-radius: 99px; background: #ffffff20; padding: 5px 9px; font-size: 9px; }
.video-card strong { max-width: 210px; font-family: var(--course-serif); font-size: 23px; font-weight: 400; line-height: 1.18; }
.video-meta { display: flex; justify-content: space-between; margin: 11px 0 0; color: var(--course-muted); font-size: 10px; }
.guidance-card h3 { margin: 0 0 13px; font-family: var(--course-serif); font-size: 22px; font-weight: 400; }
.checklist { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.checklist li { position: relative; padding-left: 20px; color: var(--course-muted); font-size: 11px; line-height: 1.45; }
.checklist li:before { position: absolute; top: 2px; left: 0; display: grid; width: 13px; height: 13px; place-items: center; border: 1px solid var(--course-line); border-radius: 3px; content: ''; }
.download-card { background: #17171a; color: #fff; }
.download-card p { margin: 0 0 16px; color: #ffffffa6; font-size: 11px; }
.download-card .course-button { width: 100%; background: #fff; color: #111; }
.lesson-stack { display: grid; gap: 18px; }
.download-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px; border-radius: 14px; background: var(--course-accent); color: #fff; }
.download-hero .card-label { display: block; margin-bottom: 8px; color: #ffffffa6; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.download-hero h3 { margin: 0 0 5px; font-family: var(--course-serif); font-size: 27px; font-weight: 400; }
.download-hero p { margin: 0; color: #ffffffc4; font-size: 11px; }
.download-hero .course-button { flex: 0 0 auto; background: #fff; color: var(--course-accent-dark); }
.lesson-copy { overflow: hidden; }
.work-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.work-steps article { display: grid; grid-template-columns: 30px 1fr; gap: 12px; min-height: 150px; padding: 24px; border-right: 1px solid var(--course-line); border-bottom: 1px solid var(--course-line); }
.work-steps article:nth-child(2n) { border-right: 0; }
.work-steps article:nth-last-child(-n+2) { border-bottom: 0; }
.work-steps article > span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: var(--course-accent-soft); color: var(--course-accent-dark); font-size: 10px; font-weight: 700; }
.work-steps h4 { margin: 3px 0 7px; font-size: 12px; }
.work-steps p { margin: 0; color: var(--course-muted); font-size: 11px; line-height: 1.55; }
.answer-formula { margin: 0 24px 22px; padding: 20px; border-radius: 10px; background: var(--course-accent-soft); }
.answer-formula span { display: block; margin-bottom: 9px; color: var(--course-accent-dark); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.answer-formula p { margin: 0; color: #3f3e70; font-size: 13px; line-height: 1.65; }
.compression-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 24px 24px; border: 1px solid var(--course-line); border-radius: 10px; overflow: hidden; }
.compression-grid div { padding: 16px; border-right: 1px solid var(--course-line); }
.compression-grid div:last-child { border-right: 0; }
.compression-grid strong, .compression-grid span { display: block; }
.compression-grid strong { margin-bottom: 5px; font-size: 11px; }
.compression-grid span { color: var(--course-muted); font-size: 10px; line-height: 1.4; }
.example-compare { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 1px solid var(--course-line); border-bottom: 1px solid var(--course-line); }
.example-compare > div { padding: 24px; }
.example-compare > div:first-child { border-right: 1px solid var(--course-line); background: #faf9f7; }
.example-compare > div:last-child { background: var(--course-green-soft); }
.example-compare span { display: block; margin-bottom: 10px; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.example-compare p { margin: 0; color: var(--course-muted); font-family: var(--course-serif); font-size: 16px; font-style: italic; line-height: 1.55; }
.example-note { margin: 0; padding: 18px 24px; color: var(--course-muted); font-size: 10px; }
.intro-video { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1fr); gap: 24px; align-items: center; padding: 24px; }
.intro-video .video-card { min-height: 190px; }
.intro-video p { margin: 0 0 10px; color: var(--course-muted); font-size: 11px; }
.evidence-list { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.evidence-list li { position: relative; padding-left: 18px; color: var(--course-muted); font-size: 12px; }
.evidence-list li:before { position: absolute; left: 0; color: var(--course-accent); content: '•'; }
.evidence-ladder { display: grid; grid-template-columns: repeat(5, 1fr); padding: 0 24px 24px; }
.evidence-ladder div { position: relative; padding: 18px 15px; border: 1px solid var(--course-line); border-right: 0; background: #fffefa; }
.evidence-ladder div:first-child { border-radius: 10px 0 0 10px; }
.evidence-ladder div:last-child { border-right: 1px solid var(--course-line); border-radius: 0 10px 10px 0; background: var(--course-green-soft); }
.evidence-ladder span, .evidence-ladder p { display: block; }
.evidence-ladder span { margin-bottom: 5px; font-size: 10px; font-weight: 700; }
.evidence-ladder p { margin: 0; color: var(--course-muted); font-size: 9px; line-height: 1.35; }
.lesson-instruction { display: flex; align-items: center; gap: 14px; margin: 0 24px 24px; padding: 17px; border-radius: 10px; background: var(--course-accent-soft); }
.lesson-instruction strong { flex: 0 0 auto; color: var(--course-accent-dark); font-size: 10px; }
.lesson-instruction p { flex: 1; margin: 0; color: #52517b; font-size: 10px; }
.lesson-instruction .course-button { flex: 0 0 auto; }
.course-outline-simple { display: grid; }
.course-outline-simple a { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; padding: 20px 24px; border-top: 1px solid var(--course-line); color: inherit; text-decoration: none; }
.course-outline-simple a:hover { background: #faf9f7; }
.course-outline-simple > a > span { font-family: var(--course-serif); color: var(--course-accent); font-size: 18px; }
.course-outline-simple strong { display: block; margin-bottom: 4px; font-size: 12px; }
.course-outline-simple p { margin: 0; color: var(--course-muted); font-size: 10px; }
.module-next { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; border: 1px solid var(--course-line); border-radius: 12px; background: #fff; }
.module-next span { color: var(--course-muted); font-size: 10px; }
.lesson-columns { display: grid; grid-template-columns: repeat(3, 1fr); }
.lesson-columns > div { min-height: 150px; padding: 24px; border-top: 1px solid var(--course-line); border-right: 1px solid var(--course-line); }
.lesson-columns > div:last-child { border-right: 0; }
.lesson-columns h4 { margin: 0 0 8px; font-size: 12px; }
.lesson-columns p { margin: 0; color: var(--course-muted); font-size: 11px; line-height: 1.55; }
.selection-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.selection-grid > div { min-height: 120px; padding: 22px 24px; border-top: 1px solid var(--course-line); border-right: 1px solid var(--course-line); }
.selection-grid > div:nth-child(2n) { border-right: 0; }
.selection-grid strong { display: block; margin-bottom: 7px; font-size: 11px; }
.selection-grid p { margin: 0; color: var(--course-muted); font-size: 10px; line-height: 1.5; }
.quality-list { display: grid; padding: 0 24px 24px; }
.quality-list p { position: relative; margin: 0; padding: 11px 0 11px 24px; border-bottom: 1px solid var(--course-line); color: var(--course-muted); font-size: 11px; }
.quality-list p:last-child { border-bottom: 0; }
.quality-list p:before { position: absolute; left: 0; color: var(--course-accent); content: '✓'; font-weight: 700; }
.probe-list { display: grid; grid-template-columns: repeat(2, 1fr); }
.probe-list div { padding: 20px 24px; border-top: 1px solid var(--course-line); border-right: 1px solid var(--course-line); }
.probe-list div:nth-child(2n) { border-right: 0; }
.probe-list strong, .probe-list span { display: block; }
.probe-list strong { margin-bottom: 6px; font-size: 11px; }
.probe-list span { color: var(--course-muted); font-size: 10px; }
.dashboard-hero { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: stretch; margin-bottom: 30px; }
.dashboard-welcome, .dashboard-progress-card { border: 1px solid var(--course-line); border-radius: 16px; background: #fff; }
.dashboard-welcome { padding: 38px; }
.dashboard-welcome .eyebrow { margin: 0 0 12px; color: var(--course-accent); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.dashboard-welcome h2 { max-width: 680px; margin: 0 0 15px; font-family: var(--course-serif); font-size: clamp(36px, 4.2vw, 55px); font-weight: 400; line-height: 1.05; }
.dashboard-welcome h2 em { color: var(--course-accent); font-weight: 400; }
.dashboard-welcome p { max-width: 680px; margin: 0 0 24px; color: var(--course-muted); font-size: 14px; }
.dashboard-progress-card { display: flex; flex-direction: column; justify-content: space-between; padding: 28px; background: var(--course-accent); color: #fff; }
.dashboard-progress-card span { font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; opacity: .72; }
.dashboard-progress-card strong { display: block; margin: 16px 0 6px; font-family: var(--course-serif); font-size: 39px; font-weight: 400; }
.dashboard-progress-card p { margin: 0; color: #ffffffb8; font-size: 11px; }
.dashboard-section { margin-top: 30px; }
.dashboard-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
.dashboard-section-head h3 { margin: 0; font-family: var(--course-serif); font-size: 28px; font-weight: 400; }
.dashboard-section-head p { margin: 0; color: var(--course-muted); font-size: 11px; }
.stage-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.stage-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 15px; align-items: start; padding: 22px; border: 1px solid var(--course-line); border-radius: 13px; background: #fff; color: inherit; text-decoration: none; transition: transform .15s, border-color .15s; }
.stage-card:hover { transform: translateY(-2px); border-color: #bab7df; }
.stage-card .stage-number { margin-top: 1px; }
.stage-card h4 { margin: 0 0 5px; font-size: 14px; }
.stage-card p { margin: 0; color: var(--course-muted); font-size: 11px; line-height: 1.5; }
.stage-card-meta { border-radius: 99px; background: #f1efe9; color: var(--course-muted); padding: 5px 8px; font-size: 9px; white-space: nowrap; }
.stage-card.featured { border-color: #cccbf0; background: var(--course-accent-soft); }
.stage-card.featured .stage-number { border-color: var(--course-accent); background: var(--course-accent); color: #fff; }
.story-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.story-summary { min-height: 112px; display: flex; flex-direction: column; justify-content: space-between; padding: 17px; border: 1px solid var(--course-line); border-radius: 11px; background: #fff; }
.story-summary.ready { border-color: #b9d9c8; background: var(--course-green-soft); }
.story-summary span { color: var(--course-muted); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.story-summary strong { margin: 10px 0; font-size: 12px; }
.story-summary small { color: var(--course-muted); font-size: 9px; }
.dashboard-downloads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.dashboard-download { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 19px; border: 1px solid var(--course-line); border-radius: 11px; background: #fff; text-decoration: none; }
.dashboard-download strong, .dashboard-download span { display: block; }
.dashboard-download strong { font-size: 12px; }
.dashboard-download span { color: var(--course-muted); font-size: 10px; }
.dashboard-download b { color: var(--course-accent); font-size: 18px; }
.interview-tip-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.interview-tip-grid article { display: grid; grid-template-columns: 30px 1fr; gap: 12px; padding: 22px 24px; border-top: 1px solid var(--course-line); border-right: 1px solid var(--course-line); }
.interview-tip-grid article:nth-child(2n) { border-right: 0; }
.interview-tip-grid article > span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: var(--course-accent-soft); color: var(--course-accent-dark); font-size: 9px; font-weight: 700; }
.interview-tip-grid strong { display: block; margin: 3px 0 6px; font-size: 11px; }
.interview-tip-grid p { margin: 0; color: var(--course-muted); font-size: 10px; line-height: 1.5; }
.prompt-sheet-card { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 28px; border-radius: 14px; background: var(--course-accent); color: #fff; }
.prompt-sheet-card .card-label, .upsell-card .card-label, .review-card .card-label { display: block; margin-bottom: 9px; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.prompt-sheet-card .card-label { color: #ffffffa6; }
.prompt-sheet-card h3, .upsell-card h3, .review-card h3 { margin: 0 0 8px; font-family: var(--course-serif); font-size: 27px; font-weight: 400; }
.prompt-sheet-card p { max-width: 580px; margin: 0; color: #ffffffc4; font-size: 11px; line-height: 1.55; }
.prompt-download { flex: 0 0 auto; background: #fff; color: var(--course-accent-dark); }
.interview-timeline { display: grid; grid-template-columns: repeat(4, 1fr); }
.interview-timeline article { padding: 22px; border-top: 1px solid var(--course-line); border-right: 1px solid var(--course-line); }
.interview-timeline article:last-child { border-right: 0; }
.interview-timeline span { display: block; margin-bottom: 8px; color: var(--course-accent-dark); font-size: 10px; font-weight: 700; }
.interview-timeline p { margin: 0; color: var(--course-muted); font-size: 10px; line-height: 1.5; }
.upsell-card { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 28px; align-items: center; padding: 30px; border: 1px solid #cbc9ef; border-radius: 14px; background: var(--course-accent-soft); }
.upsell-card .card-label { color: var(--course-accent-dark); }
.upsell-copy > p { margin: 0 0 14px; color: var(--course-muted); font-size: 11px; line-height: 1.55; }
.upsell-copy ul { display: grid; gap: 7px; margin: 0; padding-left: 18px; color: var(--course-muted); font-size: 10px; }
.upsell-price { padding: 22px; border-radius: 11px; background: #fff; text-align: center; }
.upsell-price > span { color: var(--course-muted); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.upsell-price strong { display: block; margin: 8px 0 2px; font-family: var(--course-serif); color: var(--course-accent-dark); font-size: 42px; font-weight: 400; }
.upsell-price p { margin: 0 0 15px; color: var(--course-muted); font-size: 10px; }
.upsell-price .course-button { width: 100%; }
.review-card { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 27px 30px; border: 1px solid var(--course-line); border-radius: 14px; background: #fff; }
.review-card .card-label { color: var(--course-muted); }
.review-card h3 { font-size: 23px; }
.review-card p { max-width: 650px; margin: 0; color: var(--course-muted); font-size: 11px; line-height: 1.55; }
.review-card .course-button { flex: 0 0 auto; }
.review-card-form { align-items: start; }
.review-card-form > div { padding-top: 4px; }
.review-form { display: grid; flex: 0 0 min(100%, 340px); gap: 12px; }
.review-form label { display: grid; gap: 6px; color: var(--course-ink); font-size: 10px; font-weight: 700; }
.review-form select, .review-form textarea { width: 100%; border: 1px solid var(--course-line); border-radius: 8px; background: #fffefa; padding: 10px 11px; outline: 0; }
.review-form select:focus, .review-form textarea:focus { border-color: var(--course-accent); box-shadow: 0 0 0 3px var(--course-accent-soft); }
.review-form textarea { min-height: 100px; resize: vertical; line-height: 1.5; }
.review-form .review-permission { display: grid; grid-template-columns: 16px 1fr; align-items: start; color: var(--course-muted); font-weight: 400; line-height: 1.45; }
.review-permission input { margin: 1px 0 0; }
.review-status { min-height: 15px; margin: 0; color: #a33838; font-size: 9px; }
.review-status.success { color: var(--course-green); }
.review-form .course-button { width: 100%; }
.module-next.complete { background: var(--course-green-soft); }

@media (max-width: 1040px) {
  .course-shell { grid-template-columns: 220px minmax(0, 1fr); }
  .lesson-heading, .lesson-grid { grid-template-columns: 1fr; }
  .lesson-output { max-width: 420px; }
  .lesson-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-hero { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .course-shell { display: block; }
  .course-sidebar { position: static; width: 100%; height: auto; padding: 20px; }
  .course-brand { margin-bottom: 20px; }
  .course-sidebar h1, .course-progress, .course-sidebar-footer { display: none; }
  .stage-nav { grid-template-columns: repeat(6, minmax(110px, 1fr)); overflow-x: auto; }
  .stage-state { display: none; }
  .course-topbar { padding: 0 20px; }
  .course-content { width: min(100% - 28px, 720px); padding-top: 34px; }
  .lesson-heading h2 { font-size: 42px; }
  .story-tabs { grid-template-columns: repeat(3, 1fr); }
  .story-tab:nth-child(3) { border-right: 0; }
  .story-tab:nth-child(-n+3) { border-bottom: 1px solid var(--course-line); }
  .field-grid, .lesson-side { grid-template-columns: 1fr; }
  .work-steps, .compression-grid, .example-compare { grid-template-columns: 1fr; }
  .work-steps article, .work-steps article:nth-child(2n), .work-steps article:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--course-line); }
  .work-steps article:last-child { border-bottom: 0; }
  .compression-grid div { border-right: 0; border-bottom: 1px solid var(--course-line); }
  .compression-grid div:last-child { border-bottom: 0; }
  .example-compare > div:first-child { border-right: 0; border-bottom: 1px solid var(--course-line); }
  .download-hero { align-items: flex-start; flex-direction: column; }
  .intro-video, .evidence-ladder, .lesson-columns, .selection-grid, .probe-list, .interview-tip-grid, .interview-timeline, .upsell-card { grid-template-columns: 1fr; }
  .evidence-ladder div, .evidence-ladder div:last-child { border-right: 1px solid var(--course-line); border-bottom: 0; border-radius: 0; }
  .evidence-ladder div:first-child { border-radius: 10px 10px 0 0; }
  .evidence-ladder div:last-child { border-bottom: 1px solid var(--course-line); border-radius: 0 0 10px 10px; }
  .lesson-columns > div, .selection-grid > div, .probe-list div { border-right: 0; }
  .lesson-instruction, .module-next { align-items: flex-start; flex-direction: column; }
  .prompt-sheet-card, .review-card { align-items: flex-start; flex-direction: column; }
  .interview-tip-grid article, .interview-tip-grid article:nth-child(2n), .interview-timeline article { border-right: 0; }
  .stage-cards, .story-summary-grid, .dashboard-downloads { grid-template-columns: 1fr; }
  .story-form { padding: 20px; }
  .top-down-block { margin: 22px -20px -20px; padding: 20px; }
}
