/* Individual educator course page */
:root { --course-accent:#20c7ef; --course-accent-rgb:32,199,239; }
body[data-theme="teal"] { --course-accent:#20d6b5; --course-accent-rgb:32,214,181; }
body[data-theme="gold"] { --course-accent:#f0b429; --course-accent-rgb:240,180,41; }
body[data-theme="blue"] { --course-accent:#2f94e8; --course-accent-rgb:47,148,232; }
body[data-theme="magenta"] { --course-accent:#e65893; --course-accent-rgb:230,88,147; }
body[data-theme="yellow"] { --course-accent:#ffd343; --course-accent-rgb:255,211,67; }
body[data-theme="violet"] { --course-accent:#9b7cf3; --course-accent-rgb:155,124,243; }
body[data-theme="green"] { --course-accent:#31b66b; --course-accent-rgb:49,182,107; }
body[data-theme="red"] { --course-accent:#ee5961; --course-accent-rgb:238,89,97; }
body[data-theme="aqua"] { --course-accent:#18c4cb; --course-accent-rgb:24,196,203; }
body[data-theme="orange"] { --course-accent:#f08a3c; --course-accent-rgb:240,138,60; }
.course-page h1,.course-page h2,.course-page h3,.course-page h4 { letter-spacing:0; }
.course-hero { position:relative; min-height:800px; padding-top:var(--header-height); display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; background:#020b17; }
.course-hero-art { position:absolute; z-index:-5; inset:0; width:100%; height:100%; object-fit:cover; object-position:72% center; transform:scale(1.035) translate3d(var(--hero-x,0),var(--hero-y,0),0); transition:transform .25s ease-out; }
.course-hero-overlay { position:absolute; z-index:-4; inset:0; background:linear-gradient(90deg,rgba(2,10,22,.99) 0%,rgba(4,22,42,.96) 43%,rgba(3,19,38,.65) 72%,rgba(2,11,25,.38) 100%),linear-gradient(180deg,rgba(2,9,20,.2),rgba(2,10,22,.88)); }
.course-hero-grid { position:absolute; z-index:-3; inset:0; opacity:.11; background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(90deg,#000,transparent 82%); }
.course-hero::after { content:""; position:absolute; z-index:-2; left:0; right:0; bottom:0; height:4px; background:var(--course-accent); box-shadow:0 0 24px rgba(var(--course-accent-rgb),.8); }
.course-hero-inner { padding-top:100px; padding-bottom:72px; }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:9px; color:#8ea7b8; font-size:.66rem; font-weight:700; }
.breadcrumbs a:hover { color:#fff; }
.breadcrumbs span { color:var(--course-accent); }
.course-kicker { margin-top:39px; display:inline-flex; align-items:center; gap:11px; color:var(--course-accent); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.course-kicker::before { content:""; width:32px; height:2px; background:currentColor; box-shadow:0 0 14px currentColor; }
.course-hero h1 { max-width:900px; margin-top:17px; color:#fff; font-size:4.75rem; line-height:1.04; }
.course-summary { max-width:760px; margin-top:24px; color:#bfd2df; font-size:1rem; }
.course-hero .hero-actions { margin-top:31px; }
.course-primary { background:var(--course-accent); color:#04101f; box-shadow:0 14px 34px rgba(var(--course-accent-rgb),.28); }
.course-primary:hover { box-shadow:0 18px 42px rgba(var(--course-accent-rgb),.4); }
.course-source { border-color:rgba(255,255,255,.24); }
.course-facts { max-width:870px; margin-top:43px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid rgba(255,255,255,.14); border-radius:8px; background:rgba(255,255,255,.055); backdrop-filter:blur(12px); }
.course-fact { min-height:88px; padding:16px 20px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(255,255,255,.13); }
.course-fact:last-child { border-right:0; }
.course-fact strong { color:#fff; font-family:var(--font-heading); font-size:1.25rem; line-height:1.15; }
.course-fact:first-child strong { color:var(--course-accent); }
.course-fact span { margin-top:5px; color:#8faabd; font-size:.62rem; font-weight:700; text-transform:uppercase; }
.hero-enter { opacity:0; transform:translateY(22px); animation:courseHeroIn .8s cubic-bezier(.22,.7,.2,1) forwards; animation-delay:var(--delay); }
.course-nav { border-bottom:1px solid #dce7ee; background:#fff; }
.course-nav-inner { min-height:66px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; }
.course-nav a { min-width:0; display:flex; align-items:center; gap:10px; color:#4f687b; font-size:.68rem; font-weight:800; }
.course-nav a:last-child { justify-content:flex-end; text-align:right; }
.course-nav a:hover { color:var(--blue-600); }
.course-nav-center { padding:7px 12px; justify-self:center; border:1px solid #d8e4eb; border-radius:5px; color:#183c56!important; }
.overview-section { padding:104px 0; background:#fff; }
.overview-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:86px; align-items:start; }
.overview-heading h2,.outcomes-heading h2,.curriculum-heading h2 { margin-top:13px; font-size:3.55rem; }
.overview-label { margin-top:20px; color:var(--course-accent); font-size:.7rem; font-weight:800; }
.overview-text { margin-top:18px; color:#587185; font-size:.9rem; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.feature-item { min-height:270px; padding:25px 22px; display:flex; flex-direction:column; border-top:3px solid var(--course-accent); border-radius:0 0 8px 8px; background:#f3f8fb; }
.feature-number { color:var(--course-accent); font-family:var(--font-heading); font-size:.7rem; font-weight:800; }
.feature-item h3 { margin-top:48px; font-size:1.16rem; }
.feature-item p { margin-top:13px; color:#60798c; font-size:.76rem; }
.outcomes-section { padding:104px 0; background:#eef5f9; }
.outcomes-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:86px; align-items:start; }
.outcomes-heading { position:sticky; top:120px; }
.outcomes-heading p { max-width:430px; margin-top:18px; color:#5f788b; font-size:.85rem; }
.objective-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.objective-item { min-height:72px; padding:15px 16px; display:flex; align-items:center; gap:13px; border:1px solid #d6e3ea; border-radius:7px; background:#fff; color:#284b63; font-size:.75rem; font-weight:600; }
.objective-check { flex:0 0 28px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:rgba(var(--course-accent-rgb),.13); color:var(--course-accent); font-size:.8rem; font-weight:900; }
.included-section { padding:104px 0; background:#04101f; }
.included-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
.included-visual { position:relative; min-height:610px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:8px; background:#07182a; }
.included-visual img { width:100%; height:100%; object-fit:cover; }
.included-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(2,10,22,.76)); }
.course-mobile-image { display:none; }
.course-mobile-image img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:8px; display:block; }
.included-stamp { position:absolute; z-index:2; left:23px; right:23px; bottom:23px; padding:17px 18px; border:1px solid rgba(255,255,255,.2); border-radius:6px; background:rgba(2,13,27,.75); color:#fff; backdrop-filter:blur(10px); }
.included-stamp small { color:var(--course-accent); font-size:.6rem; font-weight:800; text-transform:uppercase; }
.included-stamp strong { margin-top:4px; display:block; font-family:var(--font-heading); font-size:1rem; }
.included-content h2 { margin-top:13px; font-size:3.45rem; }
.included-content>p { margin-top:18px; color:#a9c0cf; font-size:.85rem; }
.included-list { margin-top:29px; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.included-item { min-height:62px; padding:12px 14px; display:flex; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.11); border-radius:6px; background:rgba(255,255,255,.045); color:#d5e2e9; font-size:.72rem; font-weight:600; }
.included-item span { color:var(--course-accent); font-size:1rem; }
.curriculum-section { padding:104px 0 112px; background:#fff; }
.curriculum-heading { margin-bottom:44px; display:grid; grid-template-columns:1fr .72fr; align-items:end; gap:70px; }
.curriculum-heading>p { color:#5e778a; font-size:.86rem; }
.module-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; counter-reset:module; }
.module-row { min-height:84px; padding:17px 19px; display:flex; align-items:center; gap:17px; border:1px solid #d7e4eb; border-radius:7px; background:#f8fbfd; transition:transform .22s,border-color .22s,background .22s; }
.module-row:hover { transform:translateX(4px); border-color:rgba(var(--course-accent-rgb),.6); background:#fff; }
.module-number { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#06162b; color:var(--course-accent); font-family:var(--font-heading); font-size:.66rem; font-weight:800; }
.module-row h3 { color:#183a52; font-size:.94rem; }
.module-row small { margin-top:4px; display:block; color:#7a91a2; font-size:.59rem; font-weight:700; text-transform:uppercase; }
.course-closing { padding:76px 0; background:#04101f; }
.closing-inner { padding:52px 55px; display:flex; align-items:center; justify-content:space-between; gap:56px; border:1px solid rgba(var(--course-accent-rgb),.3); border-radius:8px; background:linear-gradient(110deg,#071b32,#0a3156 72%,rgba(var(--course-accent-rgb),.38)); }
.closing-copy h2 { max-width:690px; margin-top:11px; font-size:2.75rem; }
.closing-copy p { max-width:700px; margin-top:15px; color:#b6cad7; font-size:.84rem; }
.closing-inner .button { flex:0 0 auto; }
@keyframes courseHeroIn { to { opacity:1; transform:translateY(0); } }
@media(max-width:1050px){.course-hero h1{font-size:4rem}.overview-grid,.outcomes-grid,.included-grid{grid-template-columns:1fr;gap:48px}.feature-grid{grid-template-columns:repeat(3,1fr)}.outcomes-heading{position:static}.included-visual{min-height:520px;max-width:650px}.curriculum-heading{grid-template-columns:1fr;gap:18px}.closing-inner{align-items:flex-start;flex-direction:column;gap:28px}}
@media(max-width:680px){.course-hero{min-height:760px}.course-hero-art{object-position:68% center}.course-hero-overlay{background:linear-gradient(90deg,rgba(2,10,22,.98),rgba(3,20,39,.84) 72%,rgba(2,11,25,.67)),linear-gradient(180deg,rgba(2,9,20,.2),rgba(2,10,22,.9))}.course-hero-inner{padding-top:66px;padding-bottom:52px}.course-kicker{margin-top:28px}.course-hero h1{font-size:2.8rem}.course-summary{font-size:.88rem}.course-hero .hero-actions{flex-direction:column}.course-hero .hero-actions .button{width:100%}.course-facts{grid-template-columns:1fr}.course-fact{min-height:68px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.course-fact:last-child{border-bottom:0}.course-nav-inner{grid-template-columns:1fr auto 1fr;gap:8px}.course-nav a{font-size:0}.course-nav a:not(.course-nav-center) span{font-size:.9rem}.course-nav-center{font-size:.62rem!important}.overview-section,.outcomes-section,.included-section,.curriculum-section{padding:76px 0}.overview-heading h2,.outcomes-heading h2,.included-content h2,.curriculum-heading h2{font-size:2.25rem}.feature-grid,.objective-list,.included-list,.module-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.feature-item{min-height:0;padding:16px 14px}.feature-item h3{margin-top:16px;font-size:.92rem}.feature-item p{margin-top:8px;font-size:.66rem;line-height:1.4}.objective-item{min-height:0;padding:10px;font-size:.62rem;gap:8px}.included-item{min-height:0;padding:9px 10px;font-size:.6rem;gap:8px}.module-row{min-height:0;padding:12px;gap:10px}.module-row h3{font-size:.78rem}.module-row small{font-size:.52rem}.included-visual{display:none}.course-mobile-image{display:block;margin:22px auto 0}.closing-inner{padding:35px 24px}.closing-copy h2{font-size:2rem}.closing-inner .button{width:100%}}
