.public-course-content { max-width: 76rem; }
.public-course-content p, .public-course-steps, .public-course-concepts { max-width: 72ch; }
.public-course-list article { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--border); }
.public-course-list h3 { margin: .3rem 0 .5rem; }
.public-course-list .button { flex-shrink: 0; }
.public-course-meta { color: var(--text-secondary); font-size: .9rem; }
.public-course-section { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.public-course-steps { padding-left: 1.4rem; }
.public-course-steps li { padding: .4rem 0; }
.public-course-concepts { margin: 1rem 0; }
.public-course-concepts > div { padding: .6rem 0; }
.public-course-concepts dt { font-weight: 650; }
.public-course-concepts dd { margin: .35rem 0 0; }
.public-course-topics summary { cursor: pointer; padding: .8rem 0; font-weight: 600; }
.public-course-topics ol { padding-left: 1.4rem; }
.public-course-topics li { padding: .5rem 0; }
.public-course-topics li > span { display: block; }
.public-course-links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; }
@media (max-width: 640px) {
    .public-course-list article { flex-direction: column; align-items: flex-start; gap: .75rem; }
    .public-course-content { overflow-wrap: anywhere; }
    .public-course-topics ol { padding-left: 1.1rem; }
}
