.course-page { padding-top: 30px; padding-bottom: 50px; }
.course-page section { margin-top: 30px; }
.course-links { margin: 18px 0 28px; line-height: 1.8; }
.course-page h2 { margin: 20px 0 12px; }
.course-page h3 { margin: 18px 0 8px; }
.course-page p { margin-bottom: 14px; }
.course-page ul { padding-left: 24px; margin-bottom: 18px; }
.course-facts { margin: 20px 0; }
.course-facts > div { margin-bottom: 8px; }
.course-facts strong::after { content: ": "; }
.course-facts br { display: none; }
.course-note { margin: 18px 0; }
.course-week { margin: 24px 0; }
.course-date { font-weight: bold; }
.course-date span { font-weight: normal; }
.course-detail { margin-bottom: 20px; overflow-wrap: anywhere; }
.course-page blockquote { margin: 16px 24px; }
.course-table-wrap { overflow-x: auto; margin: 18px 0; }
.course-schedule { table-layout: fixed; width: 100%; min-width: 720px; border-collapse: collapse; font-size: 15px; line-height: 1.6; }
.course-schedule th, .course-schedule td { padding: 12px; border: 1px solid #ddd; text-align: left; vertical-align: top; }
.course-schedule thead th { background: #f5f5f5; font-weight: bold; }
.course-schedule tbody th { white-space: nowrap; font-weight: normal; }
.course-schedule td { overflow-wrap: anywhere; }

#wsite-content .course-page section h2 { font-size: 22px !important; line-height: 1.4 !important; }
.course-team { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin: 22px 0; }
.course-person { text-align: center; }
.course-avatar { width: 88px; height: 88px; border-radius: 50%; background: #f1f1f1; color: #666; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; font-size: 24px; }
.course-person-name { font-weight: 600; line-height: 1.5; }
.course-person-role { color: #777; font-size: 14px; line-height: 1.6; margin-top: 3px; }
@media (max-width: 600px) { .course-team { grid-template-columns: repeat(2, 1fr); gap: 24px 12px; } }

/* Scoped typography overrides the inherited Weebly paragraph sizes. */
#wsite-content .course-page { font-size: 16px; line-height: 1.75; }
#wsite-content .course-page p,
#wsite-content .course-page li,
#wsite-content .course-page td,
#wsite-content .course-page th,
#wsite-content .course-page blockquote,
#wsite-content .course-page .course-platform,
#wsite-content .course-page .course-facts,
#wsite-content .course-page .course-links { font-size: 16px !important; line-height: 1.75 !important; }
#wsite-content .course-page header h2 { font-size: 30px !important; line-height: 1.3 !important; }
#wsite-content .course-page section h2 { font-size: 22px !important; line-height: 1.4 !important; }
#wsite-content .course-page h3 { font-size: 18px !important; line-height: 1.5 !important; }
.course-platform { margin-bottom: 16px; }
@media (max-width: 600px) {
 #wsite-content .course-page header h2 { font-size: 26px !important; }
}

.course-headshot { object-fit: cover; object-position: center; display: block; }

/* Preserve the space above Jiaxin’s head without adding a visible frame. */
.course-headshot[src="/assets/team/jiaxin-gao.png"] { object-position: center top; }
