.tutorial-opening h1 {
  margin-top: 20px;
}

.tutorial-prerequisite {
  margin-top: 28px;
}

.tutorial-intro {
  margin-top: 20px;
  font-size: var(--fs-sm);
}

.tutorial-step {
  padding-top: 56px;
  padding-bottom: 56px;
  scroll-margin-top: 110px;
}

.tutorial-step + .tutorial-step {
  border-top: 1px solid var(--c-border);
}

.tutorial-step:last-child {
  padding-bottom: 0;
}

.tutorial-step-head {
  max-width: 54em;
  margin-bottom: 28px;
}

.tutorial-step-head h2 {
  margin-top: 14px;
}

.tutorial-step-head > p:last-child {
  margin-top: 16px;
}

.tutorial-step-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 48px;
  align-items: start;
}

.tutorial-step-layout > *,
.tutorial-test-grid > * {
  min-width: 0;
}

.tutorial-copy > p:first-child {
  margin-top: 0;
}

.tutorial-copy > h3:first-child {
  margin-top: 0;
}

.tutorial-test-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 48px;
  align-items: start;
}

.tutorial-check-card {
  border-top: 4px solid var(--c-accent);
}

.tutorial-checklist {
  display: grid;
  gap: 16px;
  margin-top: 20px;
  font-size: var(--fs-sm);
}

.tutorial-checklist li + li {
  padding-top: 16px;
  border-top: 1px solid var(--c-border);
}

.tutorial-check-card > p {
  margin-top: 24px;
  font-size: var(--fs-sm);
}

@media (max-width: 960px) {
  .tutorial-step-layout,
  .tutorial-test-grid {
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 28px;
  }
}

@media (max-width: 768px) {
  .tutorial-step-layout,
  .tutorial-test-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .tutorial-step {
    padding-top: 40px;
    padding-bottom: 40px;
    scroll-margin-top: 100px;
  }

  .tutorial-step-head {
    margin-bottom: 24px;
  }
}

@media print {
  .tutorial-flow > .toc {
    position: static;
  }

  .tutorial-step-layout,
  .tutorial-test-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}