/* 课程页专属样式(依赖 site.css 的变量与公共组件) */

/* 面包屑 */
.crumb{padding:22px 0 0;font-size:13px;color:var(--subtle)}
.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--brand-bright)}
.crumb span{margin:0 8px;opacity:.6}

/* 首屏 */
.c-hero{padding:44px 0 36px;max-width:860px}
.c-hero h1{font-size:clamp(34px,5vw,58px);margin-top:20px}
.c-hero .hero-desc{max-width:720px}
.partner-note{margin-top:18px;font-size:13px;color:var(--subtle);line-height:1.8;max-width:720px}
.partner-note strong{color:var(--brand-soft);font-weight:600}
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.stat-item{text-align:center;padding:20px 12px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.stat-num{font-size:clamp(28px,3vw,38px);font-weight:800;color:var(--brand-bright);line-height:1.15}
.stat-label{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5}

/* 轮播 */
.carousel{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}
.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.carousel-track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;position:relative;aspect-ratio:2/1;margin:0;background:#0a1230}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:46px 24px 18px;font-size:14px;color:#fff;background:linear-gradient(180deg,transparent,rgba(4,8,24,.82))}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(7,13,36,.62);color:#fff;font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px)}
.carousel-btn:hover{background:rgba(48,80,240,.8)}
.carousel-btn.prev{left:14px}.carousel-btn.next{right:14px}
.carousel-dots{position:absolute;right:20px;bottom:18px;display:flex;gap:8px}
.carousel-dots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer}
.carousel-dots button[aria-current="true"]{background:#fff;width:22px;border-radius:6px}

/* 为什么现在学 */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.why-card{padding:24px 20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--panel2),var(--panel));position:relative;overflow:hidden}
.why-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand),transparent)}
.why-card .no{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--brand-bright)}
.why-card h3{font-size:19px;margin:10px 0 8px}
.why-card p{color:var(--muted);font-size:13.5px;line-height:1.75}
.why-foot{margin-top:18px;padding:16px 22px;border-radius:16px;background:rgba(48,80,240,.1);border:1px solid rgba(126,151,255,.3);color:var(--brand-soft);font-size:14.5px;line-height:1.8;text-align:center}

/* 图文分栏 */
.split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
.split.wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.fig{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.fig img{width:100%;height:auto;display:block}
.fig figcaption{padding:11px 16px;font-size:12.5px;color:var(--muted);line-height:1.65;border-top:1px solid var(--line)}
.sticky{position:sticky;top:96px}
.zoomable{cursor:zoom-in}

/* 学习路径 */
.learning-path{position:relative;padding-left:38px}
.learning-path::before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--brand),var(--brand-bright),var(--brand-soft))}
.path-stage{position:relative;padding:18px 22px;margin-bottom:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.path-stage:last-child{margin-bottom:0}
.path-stage::before{content:"";position:absolute;left:-30px;top:22px;width:14px;height:14px;border-radius:50%;border:3px solid var(--brand-bright);background:var(--bg)}
.stage-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.stage-num{font-size:12px;font-weight:800;color:var(--brand-bright);letter-spacing:.12em;padding:3px 9px;border:1px solid rgba(126,151,255,.4);border-radius:999px;background:rgba(48,80,240,.08)}
.stage-weeks{font-size:12px;color:var(--subtle)}
.path-stage h3{font-size:17px;margin:10px 0 6px}
.stage-tech{color:var(--muted);font-size:13px;line-height:1.75}
.stage-output{margin-top:8px;padding:8px 12px;border-radius:10px;background:rgba(48,80,240,.08);border:1px solid rgba(126,151,255,.2);color:var(--brand-soft);font-size:12.5px}

/* 适合人群 */
.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.audience-card{padding:26px 22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015))}
.audience-card .icon{margin-bottom:16px}
.audience-card h3{font-size:17px;margin-bottom:8px}
.audience-card p{color:var(--muted);font-size:13.5px;line-height:1.8}

/* 导师 */
.instructor-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.instructor-card{padding:26px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.instructor-card h3{font-size:20px;margin-bottom:4px}
.instructor-role{color:var(--brand-bright);font-size:13.5px;font-weight:600;margin-bottom:12px}
.instructor-card ul{list-style:none;display:grid;gap:8px;font-size:13.5px;color:var(--muted);line-height:1.75}
.instructor-card li::before{content:"·";color:var(--brand-bright);font-weight:800;margin-right:6px}

/* 学习成果 */
.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.result-item{padding:20px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}
.result-item .no{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(48,80,240,.2);border:1px solid rgba(126,151,255,.45);color:var(--brand-bright);font-size:12px;font-weight:800}
.result-item h3{font-size:16px;margin:12px 0 6px}
.result-item p{font-size:13px;color:var(--muted);line-height:1.75}
.result-slogan{margin-top:16px;padding:15px 22px;border-radius:16px;background:linear-gradient(120deg,rgba(48,80,240,.18),rgba(255,255,255,.02));border:1px solid rgba(126,151,255,.35);text-align:center;font-weight:650;font-size:15px}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.sub-title{margin:44px 0 6px;font-size:20px}
.sub-desc{color:var(--muted);font-size:14px;line-height:1.85;max-width:720px}

/* 就业成果 */
.employment-band{padding:28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(120deg,rgba(48,80,240,.12),rgba(126,151,255,.06),rgba(255,255,255,.02))}
.emp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.emp-stat{text-align:center;padding:14px 10px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.emp-stat strong{display:block;font-size:20px;color:var(--brand-bright)}
.emp-stat span{font-size:12.5px;color:var(--muted);margin-top:4px;display:block;line-height:1.5}
.emp-positions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.emp-pos{padding:6px 13px;border-radius:999px;border:1px solid rgba(126,151,255,.3);background:rgba(48,80,240,.06);font-size:13px;color:var(--brand-soft)}
.data-note{margin-top:14px;text-align:center;color:var(--subtle);font-size:12px;line-height:1.7}
.offer-grid{display:grid;grid-template-columns:1fr 1fr 220px;gap:16px;margin-top:22px;align-items:start}
.report-card{position:relative;border-radius:20px;border:1px solid var(--line);overflow:hidden;background:var(--panel);height:100%;min-height:300px;max-height:420px;display:flex;flex-direction:column}
.report-card .thumb{flex:1;overflow:hidden;position:relative;background:#fff}
.report-card .thumb img{width:100%;height:auto;display:block}
.report-card .thumb::after{content:"";position:absolute;inset:auto 0 0;height:70px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.95))}
.report-card button{appearance:none;border:0;border-top:1px solid var(--line);background:var(--panel2);color:var(--brand-bright);font-size:13.5px;font-weight:650;padding:12px;cursor:pointer}
.report-card button:hover{background:rgba(48,80,240,.2)}

/* 合作企业 */
.partner-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.partner-tags span{padding:7px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03);font-size:13px;color:var(--muted);white-space:nowrap}

/* 生态活动 */
.eco-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.eco-grid .fig img{aspect-ratio:16/10;object-fit:cover}
.eco-note{margin-top:14px;color:var(--subtle);font-size:12.5px;text-align:center;line-height:1.7}

/* 图片放大 */
.photo-lightbox{position:fixed;inset:0;z-index:70;background:rgba(4,8,24,.92);display:none;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:14px}
.photo-lightbox.open{display:flex}
.photo-lightbox .pl-body{max-width:min(94vw,1100px);max-height:82vh;overflow:auto;border-radius:14px}
.photo-lightbox img{display:block;max-width:100%;height:auto;margin:0 auto;background:#fff}
.photo-lightbox p{color:#cbd5e1;font-size:13.5px;text-align:center;max-width:700px;line-height:1.7}
.photo-lightbox button{appearance:none;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:999px;padding:8px 22px;font-size:14px;cursor:pointer}

.course-cta-line{margin-top:6px;color:var(--muted);font-size:14px;line-height:1.8}

@media(max-width:980px){
  .stats-bar,.emp-stats{grid-template-columns:repeat(2,1fr)}
  .why-grid,.result-grid{grid-template-columns:1fr 1fr}
  .audience-grid{grid-template-columns:1fr 1fr}
  .split,.split.wide{grid-template-columns:1fr}
  .sticky{position:static}
  .path-fig{max-width:360px}
  .offer-grid{grid-template-columns:1fr 1fr}
  .report-card{grid-column:1/-1;max-width:240px;justify-self:center;width:100%;max-height:380px}
  .eco-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .slide{aspect-ratio:4/3}
  .slide figcaption{padding:34px 16px 14px;font-size:13px}
  .carousel-btn{display:none}
  .why-grid,.result-grid,.audience-grid,.instructor-strip,.photo-pair,.offer-grid,.eco-grid{grid-template-columns:1fr}
  .learning-path{padding-left:32px}
  .employment-band{padding:20px}
  .c-hero{padding-top:30px}
}
@media (prefers-reduced-motion:reduce){.carousel-track{scroll-behavior:auto}}
