.course-page { padding-top:28px; padding-bottom:60px; }
.course-hero { display:grid; grid-template-columns:1.4fr 1fr; gap:65px; align-items:center; margin:45px 0; }
.course-hero h1 { font:700 clamp(3.3rem,5.2vw,5.7rem)/.96 Rajdhani,sans-serif; letter-spacing:-1px; margin:18px 0 24px; }
.course-hero .article-deck { max-width:600px; }
.course-overview { background:var(--lab-panel); border:1px solid var(--lab-line); border-radius:10px; padding:30px; }
.course-label { font-size:.7rem; letter-spacing:2px; color:var(--lab-red); font-weight:600; }
.course-overview h2 { font-size:2.2rem; line-height:1.1; margin:20px 0; }
.course-overview ul { padding-left:18px; }
.course-overview li,.course-overview p { color:var(--lab-muted); font-size:.85rem; line-height:1.8; }
.course-overview li { margin-bottom:8px; }
.course-progress { background:var(--lab-panel); border:1px solid var(--lab-line); padding:24px; border-radius:8px; margin-bottom:35px; }
.course-progress h2 { font-size:1.4rem; margin:0 0 7px; }
.course-progress p { font-size:.85rem; color:var(--lab-muted); margin:0; }
.course-progress progress { display:block; appearance:none; width:100%; height:8px; border:0; border-radius:20px; margin:18px 0 12px; background:var(--lab-line); overflow:hidden; accent-color:var(--lab-red); }
.course-progress progress::-webkit-progress-bar { background:var(--lab-line); }
.course-progress progress::-webkit-progress-value { background:var(--lab-red); }
.course-progress progress::-moz-progress-bar { background:var(--lab-red); }
.course-text-button { background:transparent; border:0; color:var(--lab-red); text-decoration:underline; min-height:44px; padding:12px 16px 0 0; font-size:.8rem; }
.course-grid { display:grid; grid-template-columns:280px minmax(0,1fr); gap:35px; align-items:start; }
.course-outline { position:sticky; top:105px; }
.course-outline ol { list-style:none; padding:0; margin:0; }
.course-outline a { display:flex; align-items:start; gap:14px; padding:18px 0; border-bottom:1px solid var(--lab-line); text-decoration:none; color:var(--lab-white); font-size:.88rem; line-height:1.6; }
.course-outline small { display:block; color:var(--lab-muted); font-size:.73rem; margin-top:6px; }
.lesson-number { font:600 1.6rem Rajdhani,sans-serif; color:var(--lab-red); }
.course-lesson { border:1px solid var(--lab-line); border-radius:8px; margin-bottom:20px; background:var(--lab-panel); scroll-margin-top:100px; overflow:hidden; }
.course-lesson>summary { padding:25px; cursor:pointer; list-style:none; position:relative; padding-right:55px; }
.course-lesson>summary::-webkit-details-marker { display:none; }
.course-lesson>summary::after { content:'+'; position:absolute; top:35px; right:25px; font-size:1.6rem; color:var(--lab-red); }
.course-lesson[open]>summary::after { content:'\2212'; }
.course-lesson>summary .eyebrow { display:block; font-size:.65rem; margin-bottom:8px; }
.course-lesson h2 { font-size:1.8rem; line-height:1.15; margin:0; letter-spacing:0; }
.course-lesson.is-complete { border-color:var(--lab-red); }
.lesson-body { padding:0 25px 28px; font-size:.95rem; line-height:1.9; }
.lesson-body p,.lesson-body li { color:var(--lab-muted); }
.lesson-body strong { color:var(--lab-white); }
.lesson-body h3 { font-size:1.5rem; margin:28px 0 15px; }
.lesson-goal { padding:18px; background:var(--lab-bg); border-left:3px solid var(--lab-red); }
.lesson-video { margin:25px 0; }
.lesson-video .small { margin:10px 0 0; font-size:.78rem; }
.lesson-practice { padding-left:22px; }
.lesson-practice li { padding:0 0 12px 6px; }
.lesson-resource { display:inline-flex; align-items:center; min-height:44px; font-weight:600; }
.lesson-assignment { border-left:3px solid var(--lab-red); padding:2px 20px 4px; margin:25px 0; }
.lesson-assignment h3 { margin-top:0; }
.lesson-check { border-top:1px solid var(--lab-line); padding-top:25px; margin-top:28px; }
.lesson-check legend { font:600 1.5rem Rajdhani,sans-serif; color:var(--lab-white); }
.lesson-check label { display:flex; align-items:flex-start; gap:12px; padding:14px; border:1px solid var(--lab-line); border-radius:5px; margin:10px 0; font-size:.88rem; line-height:1.65; cursor:pointer; }
.lesson-check label:has(input:checked) { border-color:var(--lab-red); }
.lesson-check input { flex:0 0 auto; margin-top:5px; accent-color:var(--lab-red); width:18px; height:18px; }
.lesson-check .btn { margin-top:12px; }
.lesson-feedback { margin:15px 0 0; }
.lesson-finish { padding-top:20px; }
.lesson-finish .small { font-size:.78rem; margin:12px 0; }
.lesson-next { display:inline-flex; align-items:center; min-height:44px; }
.course-week { max-width:900px; padding:35px; border:1px solid var(--lab-line); border-radius:8px; margin:45px 0 0; scroll-margin-top:100px; }
.course-week h2 { font-size:2.1rem; }
.course-week p,.course-week li { font-size:.95rem; color:var(--lab-muted); line-height:1.9; }
.course-week li { margin-bottom:15px; padding-left:8px; }
.course-week ol { padding-left:22px; }
.course-week strong { color:var(--lab-white); }
@media(max-width:991.98px) { .course-hero { gap:25px; }.course-grid { grid-template-columns:230px minmax(0,1fr); gap:25px; }.course-hero h1 { font-size:3.7rem; } }
@media(max-width:767.98px) {
    .course-page { padding-top:24px; }.course-hero { grid-template-columns:1fr; gap:28px; margin:25px 0 30px; }.course-hero h1 { font-size:clamp(2.9rem,10.5vw,4.5rem); }.course-overview { padding:24px; }.course-overview li,.course-overview p { font-size:.94rem; }
    .course-grid { grid-template-columns:1fr; gap:25px; }.course-outline { position:static; padding:20px; border:1px solid var(--lab-line); border-radius:8px; }.course-outline a { font-size:.95rem; }.course-outline li:last-child a { border:0; padding-bottom:0; }.course-outline small { font-size:.8rem; }
    .course-lesson>summary { padding:24px 45px 24px 20px; }.course-lesson>summary::after { right:18px; }.course-lesson h2 { font-size:1.65rem; }.lesson-body { padding:0 20px 24px; font-size:1rem; }.lesson-check label { font-size:.95rem; padding:14px 12px; }.lesson-finish>.btn,.lesson-check>.btn { width:100%; }.course-week { padding:24px; }.course-week h2 { font-size:1.85rem; }.course-week p,.course-week li { font-size:1rem; }
}
