.courses-page {
    --course-navy: #15365f; --course-blue: #245ca6; --course-orange: #f28c28;
    --course-ink: #1d2b3f; --course-muted: #667085; --course-line: #dfe6ee;
    --course-surface: #f4f7fb; --course-panel: #ffffff; color: var(--course-ink);
}
.courses-page .navbar-nav .nav-item.active .nav-link { color: var(--course-blue); }
.course-hero { position: relative; overflow: hidden; padding: 164px 0 76px; color: #fff; background: radial-gradient(circle at 86% 12%, rgba(242,140,40,.35), transparent 24rem), linear-gradient(125deg,#102c50 0%,#174b83 58%,#1f65a8 100%); }
.course-hero::after { position:absolute; right:-7rem; bottom:-10rem; width:25rem; height:25rem; border:3.5rem solid rgba(255,255,255,.07); border-radius:50%; content:""; }
.course-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr); gap:64px; align-items:end; }
.eyebrow { margin:0 0 12px; color:var(--course-orange); font-size:.82rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.course-hero h2 { max-width:780px; margin:0; color:#fff; font-size:clamp(2.15rem,4.3vw,4rem); line-height:1.08; letter-spacing:-.035em; }
.hero-copy { max-width:710px; margin:22px 0 0; color:rgba(255,255,255,.86); font-size:1.08rem; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.course-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:11px 21px; border:2px solid transparent; border-radius:9px; font-size:.96rem; font-weight:600; text-align:center; transition:transform .18s ease,background-color .18s ease,border-color .18s ease; }
.course-button:hover,.course-button:focus { transform:translateY(-2px); text-decoration:none; }
.course-button-primary { color:#17283d; background:var(--course-orange); border-color:var(--course-orange); }
.course-button-primary:hover,.course-button-primary:focus { color:#17283d; background:#ffa64d; border-color:#ffa64d; }
.course-button-secondary { color:#fff; border-color:rgba(255,255,255,.65); background:rgba(255,255,255,.06); }
.course-button-secondary:hover,.course-button-secondary:focus { color:#fff; border-color:#fff; background:rgba(255,255,255,.12); }
.course-facts { margin:0; padding:6px 0 6px 28px; border-left:1px solid rgba(255,255,255,.28); }
.course-facts div+div { margin-top:21px; }
.course-facts dt { margin-bottom:3px; color:rgba(255,255,255,.65); font-size:.76rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; }
.course-facts dd,.course-facts a { margin:0; color:#fff; font-size:1rem; font-weight:600; }
.program-intro { padding:58px 0; background:var(--course-panel); }
.intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:center; }
.intro-grid h2,.section-heading h2,.catalog-cta h2 { margin:0; color:var(--course-navy); font-size:clamp(1.85rem,3.2vw,2.75rem); line-height:1.18; }
.intro-grid>p { margin:0; color:var(--course-muted); font-size:1.03rem; line-height:1.8; }
.pathways-section { padding:78px 0 88px; background:var(--course-surface); }
.section-heading { max-width:750px; margin:0 auto 38px; text-align:center; }
.section-heading>p:last-child { margin:14px 0 0; color:var(--course-muted); font-size:1rem; line-height:1.75; }
.section-heading-left { max-width:740px; margin-right:0; margin-left:0; text-align:left; }
.pathway-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
.pathway-card { overflow:hidden; border:1px solid var(--course-line); border-radius:16px; background:var(--course-panel); box-shadow:0 10px 34px rgba(21,54,95,.08); }
.pathway-card>img { width:100%; height:230px; object-fit:cover; }
.pathway-content { padding:29px; }
.program-label { display:inline-block; margin-bottom:10px; color:var(--course-blue); font-size:.78rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.pathway-content h3 { margin:0; color:var(--course-navy); font-size:1.45rem; line-height:1.3; }
.pathway-content>p { margin:12px 0 23px; color:var(--course-muted); font-size:.94rem; line-height:1.7; }
.pathway-steps { margin:0; padding:0; list-style:none; }
.pathway-steps li { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; padding:14px 0; border-top:1px solid var(--course-line); }
.pathway-steps li>span { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; color:#fff; background:var(--course-blue); font-size:.72rem; font-weight:700; }
.pathway-steps strong { display:block; color:var(--course-ink); font-size:.92rem; }
.pathway-steps small { display:block; margin-top:3px; color:var(--course-muted); font-size:.83rem; line-height:1.55; }
.programs-section { padding:82px 0 88px; background:var(--course-panel); }
.program-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.program-card { position:relative; min-height:220px; padding:29px; border:1px solid var(--course-line); border-top:3px solid var(--course-blue); border-radius:13px; background:var(--course-surface); }
.program-card h3 { margin:19px 0 9px; color:var(--course-navy); font-size:1.3rem; }
.program-card p { margin:0; color:var(--course-muted); font-size:.93rem; line-height:1.7; }
.program-number { color:var(--course-orange); font-size:.78rem; font-weight:700; letter-spacing:.1em; }
.program-card-featured { display:grid; grid-column:1/-1; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:35px; align-items:center; padding:0; overflow:hidden; }
.program-card-featured img { width:100%; height:100%; min-height:285px; object-fit:cover; }
.program-card-featured>div { padding:32px 38px 32px 0; }
.catalog-cta { padding:72px 0; color:#fff; background:var(--course-navy); }
.catalog-cta-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:48px; align-items:center; }
.catalog-cta-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.catalog-cta h2 { color:#fff; }
.catalog-cta p:last-child { max-width:710px; margin:13px 0 0; color:rgba(255,255,255,.78); font-size:.98rem; line-height:1.7; }
[data-theme="dark"] .courses-page { --course-navy:#dbe9fb; --course-blue:#4b86cf; --course-ink:#e9eef5; --course-muted:#aeb8c7; --course-line:#38465a; --course-surface:#121a27; --course-panel:#1b2636; }
[data-theme="dark"] .courses-page .catalog-cta { background:#0f2c4d; }
@media (max-width:991px) {
    .course-hero { padding-top:142px; }
    .course-hero-grid { grid-template-columns:1fr; gap:38px; }
    .course-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:20px 0 0; border-top:1px solid rgba(255,255,255,.28); border-left:0; }
    .course-facts div+div { margin-top:0; }
    .intro-grid { gap:38px; }
    .pathway-grid { grid-template-columns:1fr; }
}
@media (max-width:767px) {
    .course-hero { padding:124px 0 54px; }
    .course-hero h2 { font-size:2.3rem; }
    .course-facts,.intro-grid,.program-grid,.catalog-cta-inner { grid-template-columns:1fr; }
    .course-facts { gap:16px; }
    .program-intro,.pathways-section,.programs-section,.catalog-cta { padding:55px 0; }
    .program-card-featured { grid-column:auto; grid-template-columns:1fr; gap:0; }
    .program-card-featured img { min-height:210px; max-height:250px; }
    .program-card-featured>div { padding:29px; }
    .catalog-cta-inner { gap:27px; }
    .catalog-cta-actions { justify-content:flex-start; }
}
@media (max-width:480px) {
    .course-hero h2 { font-size:2rem; }
    .hero-actions { display:grid; }
    .pathway-content { padding:23px 20px; }
    .pathway-card>img { height:195px; }
    .program-card { padding:24px 21px; }
}
@media (prefers-reduced-motion:reduce) { .course-button { transition:none; } }
