/* The lesson format follows the intro's two-column reading rhythm. */
.lessons-format { padding: 96px 0 80px; scroll-margin-top: 104px; }
.lessons-grid { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 56px; align-items: start; }
.lessons-format h2 { margin: 0; font-size: 34px; line-height: 1.2; letter-spacing: -.015em; text-wrap: balance; }
.home-page .lessons-format p { margin: 0; max-width: 67ch; font-size: 17px; line-height: 1.65; text-wrap: pretty; }
.lessons-decoration { pointer-events: none; }
.lessons-rocket { position: absolute; top: 0; right: 12px; width: 144px; height: 135.85px; transform: translateY(-42%); }
.lessons-rocket > .rocket-artwork { display: block; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.rocket-exhaust { transform-box: view-box; transform-origin: 83px 76px; transform: scale(1); }
.rocket-exhaust-streaks { transform-box: view-box; transform-origin: 0 0; transform: none; }
.lessons-rocket.is-accent-playing .rocket-exhaust { animation: rocket-exhaust-pulse 2200ms ease-in-out both; }
.lessons-rocket.is-accent-playing .rocket-exhaust-streaks { animation: rocket-exhaust-flow 2200ms ease-in-out both; }
@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
  .lessons-rocket { pointer-events: auto; }
}
/* The body is stationary. Exhaust contracts toward the nozzle, never past its original bounds. */
@keyframes rocket-exhaust-pulse {
  0%, 100% { transform: scale(1); }
  22%, 68% { transform: scale(.91); }
  45% { transform: scale(.99); }
  84% { transform: scale(.95); }
}
@keyframes rocket-exhaust-flow {
  0%, 100% { transform: translate(0,0); }
  25%, 70% { transform: translate(3px,3px); }
  48% { transform: translate(-1px,-1px); }
}
@media (max-width: 991px) {
  .lessons-format { padding: 96px 0 64px; scroll-margin-top: 24px; }
  .lessons-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .lessons-format h2 { font-size: 32px; }
  .lessons-format h2, .home-page .lessons-format p { padding-right: 44px; }
}
@media (max-width: 767px) {
  .lessons-format { padding: 64px 0 56px; }
  .lessons-format h2 { font-size: 28px; }
  .home-page .lessons-format p { font-size: 16px; }
  .lessons-rocket { right: 28px; width: 80px; height: 75.47px; transform: translateY(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .lessons-rocket .rocket-exhaust, .lessons-rocket .rocket-exhaust-streaks { animation: none !important; transform: none !important; }
}
