/* Lesson 02 projection refinement. Load after the existing lesson styles.
   Match lesson 03 at 100% zoom; cover/rest/closing and algorithm keep their
   distinct layouts. Core teaching copy never falls back to caption sizes. */
:root {
  --projection-title: clamp(32px, 3.2vw, 50px);
  --projection-body: clamp(22px, 2vw, 31px);
  --projection-lead: clamp(25px, 2.6vw, 39px);
  --projection-question: 25px;
  --projection-gap: 46px;
}
#classroom .slide:not(.hero):not(.rest) {
  max-width: 1840px;
  padding: 35px 5vw;
}
#classroom .slide:not(.hero):not(.rest) h2 {
  font-size: var(--projection-title);
  line-height: 1.26;
}
#classroom .slide:where(:not(.hero):not(.rest):not([data-slide-id="algorithm"])) p {
  font-size: var(--projection-body);
  line-height: 1.65;
  margin-bottom: 18px;
}
#classroom .slide:not(.hero):not(.rest) .lead {
  font-size: var(--projection-lead);
  line-height: 1.48;
}
#classroom .slide .slide-head { margin-bottom: 24px; }
#classroom .slide .slide-head h2 { margin: 0; }
#classroom .slide .h40-grid,
#classroom .slide .middle-grid,
#classroom .slide .history-split {
  gap: var(--projection-gap);
}
#classroom .slide .practice-copy,
#classroom .slide .middle-copy,
#classroom .slide .story-prose { min-width: 0; }
#classroom .slide .grade-copy { min-height: 0; }
#classroom .slide .grade-copy p:last-child,
#classroom .slide .quay-copy p:last-child,
#classroom .slide .history-takeaways p:last-child { margin-bottom: 0; }
#classroom .slide .practice-copy .small,
#classroom .slide .middle-copy .small,
#classroom .slide .middle-copy .middle-bridge {
  font-size: var(--projection-body);
  line-height: 1.65;
}
#classroom .slide .h40-small { font-size: var(--projection-body) !important; }
#classroom .slide .inquiry { margin-top: 20px; padding: 15px 22px; }
#classroom .slide .inquiry .ask,
#classroom .slide .inquiry .support {
  font-size: var(--projection-question);
  line-height: 1.5;
  margin: 0 0 7px;
}
#classroom .slide .inquiry p:last-child { margin-bottom: 0; }
#classroom .slide .inquiry .question-preparation { margin-bottom: 8px; }
#classroom .slide .h40-source,
#classroom .slide .history-source,
#classroom .slide .story-prose .story-source {
  font-size: 12px !important;
  line-height: 1.5;
  margin: 12px 0 0;
}
#classroom .slide .story-prose .chapter-label {
  font-size: 19px;
  line-height: 1.5;
  margin-bottom: 18px;
}
#classroom .slide.story-spread { gap: var(--projection-gap); }
#classroom .slide .story-prose h2 { margin-bottom: 22px; }
#classroom .slide .story-prose blockquote {
  font-size: var(--projection-body);
  line-height: 1.6;
  margin: 18px 0;
  padding: 16px 20px;
}
#classroom .slide .story-prose .story-ask {
  font-size: var(--projection-body);
  line-height: 1.65;
}
#classroom .slide .command { font-size: clamp(40px, 3.1vw, 50px); line-height: 1.45; }
#classroom .slide .middle-mapping { font-size: var(--projection-body); }
#classroom .slide .builder-link,
#classroom .slide .recap-connection { font-weight: 600; }

@media (max-height: 760px) and (min-width: 901px) {
  :root {
    --projection-title: 34px;
    --projection-body: 24px;
    --projection-lead: 30px;
    --projection-question: 24px;
    --projection-gap: 32px;
  }
  #classroom .slide:not(.hero):not(.rest) { padding: 23px 4.8vw; }
  #classroom .slide .slide-head { margin-bottom: 19px; }
  #classroom .slide:where(:not(.hero):not(.rest):not([data-slide-id="algorithm"])) p { margin-bottom: 15px; }
  #classroom .slide .slide-head .activity-icon { width: 50px; height: 50px; }
  #classroom .slide .inquiry { margin-top: 16px; padding: 12px 17px; }
  #classroom .slide .inquiry .ask,
  #classroom .slide .inquiry .support { margin-bottom: 6px; }
  #classroom .slide .inquiry p:last-child,
  #classroom .slide .grade-copy p:last-child,
  #classroom .slide .quay-copy p:last-child,
  #classroom .slide .history-takeaways p:last-child { margin-bottom: 0; }
  #classroom .slide .story-prose .chapter-label { font-size: 17px; margin-bottom: 12px; }
  #classroom .slide .story-prose h2 { margin-bottom: 17px; }
  #classroom .slide .story-prose blockquote { margin: 15px 0; padding: 14px 18px; }
  #classroom .slide .command { font-size: 38px; }
  #classroom .slide .h40-source,
  #classroom .slide .history-source,
  #classroom .slide .story-prose .story-source { margin-top: 10px; margin-bottom: 0; }
}

@media (max-width: 900px) {
  #classroom .slide:not(.hero):not(.rest) { padding: 25px; }
  #classroom .slide .middle-grid,
  #classroom .slide .h40-grid,
  #classroom .slide .history-split { gap: 24px; }
}

