.course-hero { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding:clamp(2rem,6vw,5rem) 0; }
.course-hero__media { overflow:hidden; min-height:20rem; border-radius:1.25rem; background:#dfeae7; box-shadow:0 1.5rem 3.5rem rgba(23,32,51,.12); }
.course-hero__media iframe,.course-hero__media video,.course-hero__media img { display:block; width:100%; aspect-ratio:16/9; border:0; object-fit:cover; }
.course-hero__placeholder { display:grid; min-height:20rem; place-items:center; color:#fff; background:linear-gradient(135deg,var(--brand-deep),var(--brand)); font-size:4rem; font-weight:900; }
.course-hero__content h1 { max-width:13ch; font-size:clamp(2.5rem,6vw,5.25rem); }
.course-hero__summary { color:var(--muted); font-size:1.15rem; line-height:1.7; }
.course-facts { display:flex; flex-wrap:wrap; gap:1.5rem; margin:1.75rem 0 0; }
.course-facts div { min-width:6rem; }
.course-facts dt { color:var(--muted); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.course-facts dd { margin:.25rem 0 0; font-size:1.2rem; font-weight:800; }
.course-section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.course-section-heading h2 { margin:0; font-size:clamp(1.8rem,4vw,2.8rem); }
.course-video-library { padding:2rem 0 4rem; }
.course-video-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(14rem,1fr)); gap:1rem; }
.course-video-item { display:flex; gap:.85rem; align-items:center; min-width:0; border:1px solid var(--line); border-radius:.8rem; padding:.75rem; color:var(--ink); background:#fff; text-align:left; cursor:pointer; }
.course-video-item:hover,.course-video-item.is-active { border-color:var(--brand); box-shadow:0 .5rem 1.5rem rgba(18,108,99,.12); }
.course-video-item:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.course-video-item__thumb { display:grid; flex:0 0 5rem; aspect-ratio:16/9; overflow:hidden; place-items:center; border-radius:.45rem; color:#fff; background:var(--brand-deep); }
.course-video-item__thumb img { width:100%; height:100%; object-fit:cover; }
.course-video-item small,.course-video-item strong { display:block; }
.course-video-item small { color:var(--muted); }
.course-body-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(17rem,22rem); gap:clamp(2rem,5vw,5rem); padding-bottom:5rem; }
.course-description,.course-outline,.course-enrol-card { border:1px solid var(--line); border-radius:1rem; background:#fff; }
.course-description,.course-outline { padding:clamp(1.25rem,3vw,2rem); }
.course-enrol-card { position:sticky; top:1rem; padding:1.5rem; }
.course-curriculum { display:grid; gap:1rem; }
.course-step-icon { display:inline-grid; width:2rem; height:2rem; margin-right:.5rem; place-items:center; border-radius:50%; color:#fff; background:var(--brand); }
@media (max-width:50rem) { .course-hero,.course-body-grid { grid-template-columns:1fr; } .course-enrol-card { position:static; } }
