.lesson-experience-layout,
.lesson-personalize-layout,
.lesson-choice-layout {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 64px;
  align-items: start;
}

.lesson-experience-note {
  margin-top: 18px;
  color: var(--gold);
  font-size: 0.86rem;
  font-weight: 850;
}

.lesson-timeline {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lesson-timeline li {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 20px;
  align-items: start;
  padding: 20px 22px;
  background: #ffffff;
  border-left: 4px solid var(--accent-blue);
  border-radius: 0 8px 8px 0;
  box-shadow: var(--shadow-soft);
}

.lesson-timeline .lesson-timeline-main {
  border-left-color: var(--accent);
}

.lesson-time {
  color: var(--accent-dark);
  font-size: 1.08rem;
  font-weight: 900;
}

.lesson-timeline h3 {
  margin: 0;
  font-size: 1.08rem;
}

.lesson-timeline p {
  margin: 5px 0 0;
  color: var(--muted);
}

.lesson-boundaries {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.lesson-boundaries section {
  padding: 28px 28px 26px 0;
}

.lesson-boundaries section + section {
  padding-right: 0;
  padding-left: 28px;
  border-left: 1px solid var(--line);
}

.lesson-boundaries-label {
  margin: 0 0 8px;
  color: var(--accent-blue);
  font-size: 0.82rem;
  font-weight: 900;
}

.lesson-boundaries h3 {
  margin: 0;
  font-size: 1.25rem;
}

.lesson-boundaries ul {
  display: grid;
  gap: 12px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.lesson-boundaries li {
  position: relative;
  padding-left: 20px;
}

.lesson-boundaries li::before {
  content: "";
  position: absolute;
  top: 0.68em;
  left: 2px;
  width: 8px;
  height: 5px;
  border-bottom: 2px solid var(--teal);
  border-left: 2px solid var(--teal);
  transform: rotate(-45deg);
}

.lesson-choice-list {
  margin: 0;
  border-top: 1px solid var(--line);
}

.lesson-choice-list div {
  display: grid;
  grid-template-columns: minmax(170px, 0.62fr) 1.38fr;
  gap: 28px;
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

.lesson-choice-list dt {
  font-weight: 900;
}

.lesson-choice-list dd {
  margin: 0;
  color: var(--muted);
}

@media (max-width: 980px) {
  .lesson-experience-layout,
  .lesson-personalize-layout,
  .lesson-choice-layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}

@media (max-width: 680px) {
  .lesson-experience-layout,
  .lesson-personalize-layout,
  .lesson-choice-layout {
    gap: 28px;
  }

  .lesson-timeline li {
    grid-template-columns: 52px 1fr;
    gap: 12px;
    padding: 18px 16px;
  }

  .lesson-boundaries {
    grid-template-columns: 1fr;
  }

  .lesson-boundaries section,
  .lesson-boundaries section + section {
    padding: 24px 0;
  }

  .lesson-boundaries section + section {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .lesson-choice-list div {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}
