.medical-course-page { background:#fff; }
.medical-course-page main { overflow:clip; }
.medical-course-page section[id] { scroll-margin-top:160px; }
.course-opening { background:#faf9f6; padding-bottom:0; }
.course-breadcrumb { padding-top:28px; margin-bottom:35px; gap:11px; font-size:12px; color:#6c6872; }
.course-breadcrumb a:hover { color:var(--violet); }
.medical-hero { display:grid; grid-template-columns:1fr 1.05fr; gap:48px; align-items:center; padding-bottom:54px; }
.course-edition { display:flex; gap:10px; align-items:center; font-size:11px; font-weight:650; letter-spacing:.11em; color:var(--violet); margin-bottom:22px; }
.medical-hero h1 { font-size:clamp(43px,4.5vw,63px); line-height:1.05; margin-bottom:24px; letter-spacing:-.047em; }
.medical-hero h1 span { color:var(--violet); }
.medical-hero-copy>p { font-size:16px; line-height:1.8; max-width:480px; }
.medical-hero-copy .hero-course-description { font-size:21px; color:var(--ink); font-weight:500; line-height:1.5; margin-bottom:17px; }
.course-teacher-byline { display:flex; align-items:center; gap:13px; margin:27px 0; }
.byline-rule { width:3px; align-self:stretch; background:var(--violet); }
.course-teacher-byline div { font-size:9px; letter-spacing:.1em; color:#6a6372; }
.course-teacher-byline strong { display:block; font-size:16px; font-weight:600; letter-spacing:-.01em; color:var(--ink); margin-top:4px; }
.medical-hero .hero-actions { display:flex; gap:12px; margin:0; }
.medical-hero-figure { min-width:0; margin:0; }
.medical-photo { overflow:hidden; position:relative; border-radius:22px 70px 22px 22px; background:#e7e1db; }
.medical-photo>img { display:block; width:100%; height:460px; object-fit:cover; object-position:50% 50%; }
.photo-label { position:absolute; bottom:22px; left:22px; right:22px; display:flex; align-items:center; gap:10px; width:fit-content; max-width:calc(100% - 44px); background:rgba(255,255,255,.95); border:1px solid #fff; padding:10px 15px; border-radius:8px; color:var(--ink); font-size:10px; letter-spacing:.09em; font-weight:650; }
.photo-live-dot { width:7px; height:7px; border-radius:50%; background:var(--violet); flex-shrink:0; }
.photo-footer { display:flex; justify-content:space-between; gap:15px; margin:15px 0 0; color:#736d77; font-size:10px; }
.photo-footer span:first-child { letter-spacing:.13em; font-weight:600; }
.course-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:28px 0 32px; margin:0; border-top:1px solid #dfdbd7; }
.course-facts>div { padding:0 24px; border-right:1px solid #dfdbd7; }
.course-facts>div:first-child { padding-left:0; }
.course-facts>div:last-child { border:0; padding-right:0; }
.course-facts dt { font-size:11px; color:#706875; margin-bottom:6px; }
.course-facts dd { margin:0; font-size:18px; line-height:1.4; font-weight:600; letter-spacing:-.025em; }
.course-facts dd span { display:block; font-size:12px; font-weight:400; color:#726a78; letter-spacing:0; margin-top:5px; }
.course-section-nav { position:sticky; top:93px; z-index:20; background:rgba(255,255,255,.98); border-block:1px solid var(--line); }
.course-section-nav>div { display:flex; justify-content:center; gap:42px; overflow-x:auto; scrollbar-width:thin; }
.course-section-nav a { display:block; font-size:13px; padding:18px 0; white-space:nowrap; font-weight:600; }
.course-section-nav a:hover { color:var(--violet); }
.course-section { padding-block:82px; }
.course-section-intro { max-width:685px; margin-bottom:38px; }
.course-section-intro h2 { margin:18px 0 22px; font-size:clamp(31px,3.2vw,44px); }
.course-section-intro p { font-size:17px; line-height:1.85; margin:0; }
.course-outcomes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; }
.course-outcomes article { border-top:1px solid #dcd4e8; padding-top:24px; }
.course-outcomes article>span { display:block; font-size:11px; color:var(--violet); letter-spacing:.1em; margin-bottom:20px; }
.course-outcomes h3 { font-size:25px; }
.course-outcomes p { font-size:16px; line-height:1.85; margin-bottom:0; }
.syllabus-section { background:var(--surface); border-block:1px solid var(--line); padding-block:76px; }
.syllabus-layout { display:grid; grid-template-columns:.8fr 1.7fr; gap:75px; align-items:start; }
.syllabus-intro { position:sticky; top:185px; }
.syllabus-intro h2 { font-size:39px; margin:17px 0 22px; }
.syllabus-intro p { font-size:16px; line-height:1.85; }
.syllabus-count { display:flex; align-items:center; gap:18px; border-block:1px solid #ddd4ea; padding:22px 0; margin:27px 0 24px; }
.syllabus-count strong { font-size:62px; line-height:1; color:var(--violet); font-weight:500; letter-spacing:-.06em; }
.syllabus-count span { font-size:14px; line-height:1.7; color:#61596d; }
.medical-course-page .course-small { font-size:12px; line-height:1.8; }
.syllabus-expand { background:none; padding:10px 0; text-align:left; }
.syllabus-expand>span { font-size:23px; }
.syllabus-week { border-bottom:1px solid #ddd5e7; background:#fff; }
.syllabus-week:first-child { border-top:1px solid #ddd5e7; }
.syllabus-week>summary { display:flex; gap:18px; align-items:center; padding:24px 23px; }
.week-number { align-self:start; font-size:14px; color:var(--violet); font-weight:500; padding-top:3px; }
.week-heading { flex:1; min-width:0; }
.week-label { font-size:9px; letter-spacing:.06em; color:#706776; line-height:1.7; display:block; margin-bottom:6px; text-transform:uppercase; }
.week-heading strong { display:block; font-size:21px; letter-spacing:-.025em; line-height:1.4; font-weight:550; }
.week-toggle { position:relative; width:24px; height:24px; flex-shrink:0; }
.week-toggle::before,.week-toggle::after { content:''; position:absolute; background:var(--violet); width:14px; height:1.5px; top:11px; left:5px; }
.week-toggle::after { transform:rotate(90deg); transition:transform .15s; }
.syllabus-week[open] .week-toggle::after { transform:rotate(0); }
.syllabus-week[open]>summary { background:#f1ebfa; }
.week-lessons { padding:8px 30px 15px 62px; }
.syllabus-lesson { padding:21px 0 18px; }
.syllabus-lesson+.syllabus-lesson { border-top:1px solid var(--line); }
.lesson-date { font-size:10px; color:var(--violet); letter-spacing:.09em; display:block; margin-bottom:10px; font-weight:600; }
.syllabus-lesson h3 { font-size:19px; line-height:1.4; margin-bottom:12px; }
.syllabus-lesson p { font-size:15px; line-height:1.85; }
.syllabus-lesson .lesson-exercise { font-size:13px; background:#faf9fc; border-left:2px solid #cbb8ff; padding:12px 15px; margin:16px 0 0; }
.lesson-exercise strong { color:var(--ink); }
.tools-section { display:grid; grid-template-columns:1fr 1.1fr; gap:20px 60px; }
.tools-section .course-section-intro { margin-bottom:0; }
.tools-section>.course-small { grid-column:2; margin:0; }
.tools-table { width:100%; border-collapse:collapse; }
.tools-table th,.tools-table td { text-align:left; padding:18px 0; border-bottom:1px solid var(--line); vertical-align:top; }
.tools-table thead th { color:var(--violet); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.tools-table tbody th { width:44%; font-size:14px; font-weight:600; padding-right:22px; }
.tools-table td { font-size:14px; color:var(--muted); }
.course-recordings { background:var(--ink); color:white; padding-block:55px; }
.recordings-layout { display:grid; grid-template-columns:1fr 3fr; gap:65px; align-items:center; }
.recordings-symbol { width:144px; height:144px; border:1px solid #9480ad; display:grid; place-items:center; border-radius:50%; justify-self:center; color:#cbb8ff; }
.recordings-symbol svg { width:76px; height:76px; }
.recordings-layout .eyebrow { color:#cfb9ff; }
.recordings-layout h2 { font-size:37px; margin:15px 0 22px; }
.recordings-layout p { color:#d7d2df; max-width:700px; font-size:16px; line-height:1.85; margin-bottom:0; }
.calendar-section { display:grid; grid-template-columns:1fr 1.2fr; gap:90px; }
.calendar-intro h2 { font-size:39px; margin:18px 0 12px; }
.calendar-intro p { font-size:15px; line-height:1.9; }
.calendar-intro .calendar-year { font-size:21px; color:#887498; margin-bottom:26px; }
.schedule-box { border-left:3px solid var(--violet); padding:8px 0 8px 20px; margin-bottom:26px; }
.schedule-box strong { display:block; font-size:17px; }
.schedule-box span { display:block; font-size:29px; letter-spacing:-.03em; margin-top:3px; color:var(--violet); }
.schedule-box small { color:var(--muted); font-size:13px; }
.course-calendar { width:100%; border-collapse:collapse; }
.course-calendar caption { text-align:left; color:var(--ink); font-size:17px; font-weight:600; padding-bottom:16px; }
.course-calendar th,.course-calendar td { text-align:left; padding:14px 16px; border-bottom:1px solid var(--line); }
.course-calendar thead th { font-size:11px; color:#70558c; background:#f3effb; font-weight:600; }
.course-calendar tbody th { color:var(--violet); font-weight:500; font-size:14px; }
.course-calendar td { font-size:14px; }
.course-calendar td span { display:block; font-size:10px; color:var(--muted); margin-top:2px; }
.calendar-note { margin-top:17px; }
.teacher-section { background:#f4f0f8; padding-block:66px; }
.teacher-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:90px; align-items:center; }
.teacher-layout h2 { font-size:43px; margin:18px 0 22px; }
.teacher-role { color:var(--violet); font-size:14px; }
.teacher-layout p { font-size:16px; line-height:1.85; }
.teacher-layout .teacher-lead { color:var(--ink); font-size:22px; line-height:1.6; font-weight:500; }
.teacher-layout p:last-child { margin:0; }
.enrollment-section { display:grid; grid-template-columns:.9fr 1.4fr; gap:65px; align-items:start; }
.enrollment-options { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.enrollment-option { border:1px solid #e0d9e8; border-radius:16px; padding:30px 25px; display:flex; flex-direction:column; }
.enrollment-option.full-course { background:#f7f3fc; border-color:#c6afe8; }
.enrollment-option .eyebrow { font-size:9px; }
.enrollment-option h3 { font-size:28px; margin:20px 0; }
.enrollment-option p { font-size:15px; line-height:1.85; margin-bottom:24px; }
.enrollment-option .enrollment-price { font-size:38px; font-weight:600; letter-spacing:-.04em; line-height:1.25; color:var(--violet); margin:0 0 14px; }
.enrollment-price span { display:block; font-size:12px; line-height:1.6; font-weight:500; letter-spacing:0; color:var(--muted); margin-top:5px; }
.enrollment-option .enrollment-saving { font-size:12px; line-height:1.7; color:#604580; margin:0 0 18px; }
.enrollment-option .button { width:100%; margin-top:auto; padding-inline:12px; font-size:13px; }
.enrollment-option .enrollment-note { font-size:11px; line-height:1.7; margin:14px 0 0; }
.enrollment-section .enrollment-provider { margin-top:20px; font-size:13px; color:var(--violet); }
.medical-course-page .launch-button { width:100%; font-family:inherit; }
.launch-weekly-link { display:block; color:#f1e8ff; font-size:12px; line-height:1.7; text-align:center; margin-top:16px; text-decoration:underline; text-underline-offset:3px; }
.stripe-link-dialog { width:min(480px,calc(100% - 36px)); border:1px solid var(--line); padding:30px; border-radius:16px; color:var(--ink); background:white; box-shadow:0 24px 100px #0002; }
.stripe-link-dialog::backdrop { background:#25212d99; }
.stripe-link-dialog h2 { font-size:27px; margin:16px 0; }
.stripe-link-dialog p { font-size:14px; line-height:1.8; }
.stripe-link-dialog .stripe-dialog-selection { color:var(--violet); font-weight:600; }
.stripe-link-dialog form { margin-top:22px; }
.course-questions { display:grid; grid-template-columns:1fr 1.4fr; gap:90px; border-top:1px solid var(--line); padding-top:65px; }
.course-questions h2 { font-size:36px; margin-top:18px; }
.course-closing { text-align:center; padding-block:64px 80px; border-top:1px solid var(--line); }
.course-closing h2 { font-size:clamp(38px,4vw,53px); margin:22px 0 30px; }
.course-closing h2 span { color:var(--violet); }
@media(min-width:1500px) { .medical-hero { gap:60px; } }
@media(max-width:1100px) { .medical-hero { gap:32px; }.medical-photo>img { height:400px; }.medical-hero h1 { font-size:48px; }.course-facts>div { padding-inline:15px; }.course-facts dd { font-size:16px; }.syllabus-layout { gap:40px; grid-template-columns:.8fr 1.5fr; }.tools-section,.calendar-section,.teacher-layout,.course-questions { gap:45px; }.enrollment-section { display:block; }.enrollment-section .course-section-intro { max-width:650px; }.enrollment-option h3 { font-size:29px; } }
@media(max-width:900px) { .course-section-nav { top:79px; }.course-section-nav>div { gap:28px; justify-content:flex-start; }.medical-hero { grid-template-columns:1fr; gap:30px; }.medical-hero-copy>p { max-width:620px; }.medical-hero h1 { max-width:690px; font-size:59px; }.medical-photo>img { height:auto; aspect-ratio:3/2; object-fit:contain; }.course-facts { grid-template-columns:1fr 1fr; row-gap:25px; }.course-facts>div:nth-child(3) { padding-left:0; }.course-facts>div:nth-child(2) { border:0; }.course-outcomes { gap:25px; }.course-outcomes h3 { font-size:22px; }.syllabus-layout { grid-template-columns:1fr; gap:28px; }.syllabus-intro { position:static; max-width:600px; }.syllabus-count { max-width:320px; }.tools-section { grid-template-columns:1fr; }.tools-section>.course-small { grid-column:1; }.tools-section .course-section-intro { margin-bottom:12px; }.calendar-section,.teacher-layout { grid-template-columns:1fr; gap:35px; }.calendar-intro { max-width:620px; }.recordings-layout { gap:35px; grid-template-columns:1fr 3fr; }.recordings-symbol { width:112px; height:112px; }.recordings-layout h2 { font-size:32px; }.course-questions { grid-template-columns:1fr; gap:25px; } }
@media(max-width:600px) { .course-section { padding-block:52px; }.course-breadcrumb { padding-top:22px; margin-bottom:26px; font-size:10px; }.medical-hero { padding-bottom:32px; }.course-edition { font-size:9px; gap:8px; margin-bottom:19px; }.medical-hero h1 { font-size:45px; line-height:1.06; }.medical-hero-copy .hero-course-description { font-size:19px; }.medical-hero-copy>p { font-size:15px; }.medical-hero .hero-actions { flex-wrap:wrap; }.medical-hero .hero-actions .button { font-size:12px; padding-inline:15px; width:auto; }.course-teacher-byline strong { font-size:15px; }.medical-photo { border-radius:14px 38px 14px 14px; }.photo-label { font-size:8px; left:14px; bottom:14px; right:14px; padding:8px 10px; max-width:calc(100% - 28px); }.photo-footer { font-size:8px; gap:12px; }.course-facts { padding-block:23px; row-gap:20px; }.course-facts>div { padding-inline:13px; }.course-facts dt { font-size:10px; }.course-facts dd { font-size:15px; }.course-facts dd span { font-size:11px; line-height:1.6; }.course-section-nav { top:73px; }.course-section-nav>div { gap:25px; }.course-section-nav a { font-size:11px; padding-block:15px; }.course-section-intro { margin-bottom:28px; }.course-section-intro h2 { font-size:32px; }.course-section-intro p { font-size:15px; }.course-outcomes { grid-template-columns:1fr; gap:28px; }.course-outcomes article { padding-top:20px; }.course-outcomes article>span { margin-bottom:13px; }.course-outcomes h3 { font-size:25px; margin-bottom:14px; }.course-outcomes p { font-size:15px; }.syllabus-section { padding-block:48px; }.syllabus-intro h2 { font-size:34px; }.syllabus-intro p { font-size:15px; }.syllabus-week>summary { padding:20px 15px; gap:12px; }.week-label { font-size:8px; }.week-heading strong { font-size:18px; }.week-number { font-size:12px; }.week-lessons { padding:3px 19px 12px; }.syllabus-lesson h3 { font-size:18px; }.syllabus-lesson p { font-size:14px; }.syllabus-lesson .lesson-exercise { font-size:12px; }.tools-table tbody th { width:43%; padding-right:16px; font-size:12px; }.tools-table td { font-size:13px; }.recordings-layout { grid-template-columns:1fr; gap:24px; }.recordings-symbol { justify-self:start; width:70px; height:70px; }.recordings-symbol svg { width:42px; height:42px; }.recordings-layout h2 { font-size:31px; }.recordings-layout p { font-size:15px; }.course-recordings { padding-block:43px; }.calendar-intro h2 { font-size:33px; }.course-calendar th,.course-calendar td { padding:12px 9px; }.course-calendar td { font-size:12px; }.course-calendar thead th { font-size:10px; }.course-calendar tbody th { font-size:12px; }.teacher-section { padding-block:48px; }.teacher-layout h2 { font-size:35px; }.teacher-layout .teacher-lead { font-size:20px; }.teacher-layout p { font-size:15px; }.enrollment-options { grid-template-columns:1fr; gap:17px; }.enrollment-option { padding:27px; }.enrollment-option h3 { margin-block:17px; }.enrollment-section .course-section-intro { margin-bottom:29px; }.course-questions h2 { font-size:32px; }.course-questions .faq-list summary { font-size:15px; }.course-closing { padding-block:47px 60px; }.course-closing h2 { font-size:35px; } }
@media(min-width:851px) { .course-section-nav { top:93px; } }
@media(min-width:621px) and (max-width:850px) { .course-section-nav { top:82px; } }
@media(max-width:620px) { .course-section-nav { top:76px; } }
@media print { .site-header,.course-section-nav,.hero-actions,.syllabus-expand,.site-footer { display:none; }.wrap { width:100%; }.course-section,.syllabus-section { padding-block:25px; }.syllabus-layout { display:block; }.syllabus-intro { position:static; }.syllabus-week { break-inside:avoid; }.medical-photo>img { max-height:260px; }.course-opening { background:white; }.course-questions { display:none; } }
