.stack { display: grid; gap: 24px; }
.course {
  display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(24px, 4vw, 64px); align-items: center;
  padding: clamp(16px, 2.2vw, 28px); padding-right: clamp(20px, 4vw, 64px);
  border-radius: var(--r-card); transform-origin: 50% 0; box-shadow: 0 -18px 40px -30px rgb(11 4 73 / .35);
}
.course:not(:has(.course__cover)) { grid-template-columns: 1fr; padding-left: clamp(20px, 4vw, 64px); }
.course--blush { background: var(--blush); }
.course--lilac { background: var(--lilac); }
.course--peach { background: var(--peach); }
.course--paper { background: var(--paper); box-shadow: inset 0 0 0 1px var(--line), 0 -18px 40px -30px rgb(11 4 73 / .35); }
.course__cover { display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--r-tile); background: rgb(255 255 255 / .6); }
.course__cover img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform 1.1s var(--ease); }
.course__cover--cover img { object-fit: cover; mix-blend-mode: normal; }
.course:hover .course__cover img { transform: scale(1.04); }
.course__body { padding-block: clamp(8px, 1.4vw, 20px); }
.course__for { margin: 0 0 10px; color: var(--rose-deep); font-weight: 700; }
.course__title { margin-bottom: 16px; font-size: clamp(1.6rem, 2.5vw, 2.3rem); }
.course__body > .rich { max-width: 62ch; }
.facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.facts li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px 8px 12px; border-radius: var(--r-pill); background: rgb(255 255 255 / .72); color: var(--ink); font-size: .92rem; font-weight: 500; }
.facts .ph { color: var(--rose-deep); }
.course__buy { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 26px; padding-top: 24px; border-top: 1px solid rgb(11 4 73 / .14); }
.course__buy .price { margin-right: auto; }

@media (prefers-reduced-motion: no-preference) and (min-width: 1024px) and (min-height: 760px) {
  .course { position: sticky; top: calc(var(--top-h) + var(--top-gap) + 20px + var(--i) * 18px); }
  @supports (animation-timeline: view()) and (timeline-scope: --a) {
    .stack { timeline-scope: --course-2, --course-3, --course-4, --course-5; }
    .course:nth-child(2) { view-timeline: --course-2 block; }
    .course:nth-child(3) { view-timeline: --course-3 block; }
    .course:nth-child(4) { view-timeline: --course-4 block; }
    .course:nth-child(5) { view-timeline: --course-5 block; }
    .course:nth-child(1):not(:last-child) { animation: tuck linear both; animation-timeline: --course-2; animation-range: entry 10% cover 46%; }
    .course:nth-child(2):not(:last-child) { animation: tuck linear both; animation-timeline: --course-3; animation-range: entry 10% cover 46%; }
    .course:nth-child(3):not(:last-child) { animation: tuck linear both; animation-timeline: --course-4; animation-range: entry 10% cover 46%; }
    .course:nth-child(4):not(:last-child) { animation: tuck linear both; animation-timeline: --course-5; animation-range: entry 10% cover 46%; }
  }
}

@media (max-width: 767px) {
  .course { grid-template-columns: 1fr; gap: 8px; padding: 12px 12px 24px; }
  .course__cover { aspect-ratio: 16 / 11; }
  .course__body { padding: 16px 10px 0; }
  .course__buy .btn { flex: 1; }
}
