.lesson-page { background: #fcfaf6; }
.lesson-header { max-width: 1120px; margin: auto; padding: 34px 24px 58px; border-bottom: 1px solid #ded9ce; }
.back-link { display: inline-block; margin-bottom: 48px; color: #5b6059; font-size: 13px; text-decoration: none; }
.lesson-header .preview-note { margin-bottom: 32px; }
.lesson-header h1 { max-width: 850px; font: 400 clamp(48px, 6.5vw, 86px)/1.04 Georgia, 'Times New Roman', serif; letter-spacing: -.055em; }
.lesson-deck { max-width: 630px; margin-top: 24px; font-size: 20px; line-height: 1.65; color: #58615e; }
.lesson-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 30px; font: 12px/1.7 var(--mono); color: #62665f; }
.lesson-grid { display: grid; grid-template-columns: 200px minmax(0, 700px); gap: 72px; max-width: 1120px; padding: 52px 24px 80px; margin: auto; }
.lesson-index { align-self: start; position: sticky; top: 105px; }
.lesson-index nav { display: flex; flex-direction: column; gap: 0; }
.lesson-index nav a { display: block; white-space: normal; padding: 10px 0; font-size: 13px; line-height: 1.5; }
.lesson-index nav a span { display: inline-block; min-width: 23px; font: 11px var(--mono); color: #8b765b; }
.index-note { margin-top: 30px; padding-top: 20px; border-top: 1px solid #ded9ce; color: #6d726a; font-size: 12px; }
.lesson-prose { min-width: 0; font-size: 18px; line-height: 1.85; color: #343e3a; overflow-wrap: break-word; }
.lesson-prose > p { margin: 0 0 24px; }
.lesson-prose h2 { font: 400 clamp(28px, 3vw, 36px)/1.2 Georgia, 'Times New Roman', serif; letter-spacing: -.025em; color: #172c29; margin: 56px 0 22px; scroll-margin-top: 90px; }
.lesson-prose > h2:first-child { margin-top: 0; }
.lesson-prose strong { color: #192f2b; }
.lesson-prose a { color: #235a4c; text-decoration-thickness: 1px; }
.lesson-prose a:hover { color: #122f27; }
.discussion-card { margin: 56px 0 32px; padding: 34px; background: #e9ede3; border-top: 3px solid #305444; scroll-margin-top: 85px; }
.discussion-card h2 { margin-top: 0; }
.discussion-card p { font-size: 15px; }
.discussion-card .discussion-footnote { font-size: 12px; margin-top: 20px; }
.discussion-pending { font: 12px/1.7 var(--mono); color: #59644f; padding-top: 8px; }
.corrections { border-top: 1px solid #ded9ce; padding-top: 24px; font-size: 12px; line-height: 1.8; color: #676d66; }
@media (max-width: 900px) {
  .lesson-grid { grid-template-columns: 155px minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 680px) {
  .lesson-header { padding: 24px 20px 32px; }
  .back-link { margin-bottom: 30px; }
  .lesson-header h1 { font-size: clamp(43px, 10vw, 64px); }
  .lesson-deck { font-size: 17px; }
  .lesson-meta { font-size: 11px; gap: 6px 16px; }
  .lesson-grid { display: block; padding: 28px 20px 48px; }
  .lesson-index { position: static; margin-bottom: 36px; border-bottom: 1px solid #ded9ce; padding-bottom: 22px; }
  .lesson-index .eyebrow { margin-bottom: 8px; }
  .lesson-index nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 15px; }
  .lesson-index nav a { font-size: 12px; }
  .index-note { margin-top: 20px; padding-top: 16px; }
  .lesson-prose { font-size: 17px; line-height: 1.85; }
  .lesson-prose h2 { margin-top: 42px; }
  .discussion-card { padding: 24px; }
}
.lesson-prose img { max-width:100%; height:auto; }
.lesson-prose figure { margin:32px 0; }
.lesson-prose figcaption { font-size:13px; color:#5b685f; }
.lesson-prose details { border-block:1px solid #ded9ce; padding:20px 0; margin:32px 0; }
.lesson-prose summary { cursor:pointer; font-weight:600; min-height:44px; }
.lesson-prose math[display="block"] { overflow-x:auto; padding:20px 0; }
.lesson-prose table { display:block; overflow-x:auto; }
.lesson-prose pre { overflow-x:auto; font-size:14px; }
