/* ---------- Course teaser (landing page) + course sub-page ---------- */

/* --- Shared graphic primitives --- */
.kgfig{width:100%;height:auto;display:block}
.kgfig .kgfig__silo{fill:#fff;stroke:var(--cue-color-lightgray)}
.kgfig .kgfig__silo-l{fill:var(--cue-color-darkgray);font:600 15px Poppins,sans-serif;letter-spacing:.03em}
.kgfig .kgfig__bar{fill:var(--cue-color-lightgray)}
.kgfig .kgfig__dash{stroke:var(--cue-color-lightgray);stroke-dasharray:4 5;fill:none}
.kgfig .kgfig__edge{stroke:var(--cue-color-blue);stroke-opacity:.42;fill:none}
.kgfig .kgfig__node{fill:#fff;stroke:var(--cue-color-blue);stroke-width:1.5}
.kgfig .kgfig__node--core{fill:var(--cue-color-blue);stroke:var(--cue-color-blue)}
.kgfig .kgfig__nl{fill:var(--cue-color-darkgray);font:600 14px Poppins,sans-serif;text-anchor:middle}
.kgfig .kgfig__arrow{fill:var(--cue-color-darkgray)}
@media (prefers-reduced-motion:no-preference){
.kgfig .kgfig__pulse{animation:kgpulse 3.6s ease-in-out infinite}
.kgfig .kgfig__pulse:nth-of-type(2){animation-delay:.5s}
.kgfig .kgfig__pulse:nth-of-type(3){animation-delay:1s}
.kgfig .kgfig__pulse:nth-of-type(4){animation-delay:1.5s}
@keyframes kgpulse{0%,100%{opacity:.35}50%{opacity:1}}
}

/* --- Teaser section --- */
.course-teaser{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(32px,5vw,72px);align-items:center}
.course-teaser__fig{background:var(--cue-color-white);border:1px solid var(--cue-border-color);border-radius:var(--cue-radius-card,30px);padding:26px 24px;box-shadow:0 1px 1.5em rgba(0,0,0,.08)}
.course-teaser__facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.course-fact{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:9999px;border:1px solid var(--cue-border-color);background:var(--cue-color-white);font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--cue-color-darkmidgray)}
.course-fact .cue-icon{font-size:17px;color:var(--cue-color-blue)}
.course-teaser__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px}
.course-teaser__note{font-size:13px;color:var(--cue-color-midgray);margin:14px 0 0}
.badge-wip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:9999px;background:rgba(40,89,225,.10);color:var(--cue-color-blue);font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
@media (max-width:1040px){.course-teaser{grid-template-columns:1fr}.course-teaser__fig{max-width:660px}}

/* --- Course page --- */
.course-hero{max-width:820px}
.course-hero__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.course-page__fig{margin:clamp(40px,5vw,64px) auto 0;max-width:780px;background:var(--cue-color-white);border:1px solid var(--cue-border-color);border-radius:var(--cue-radius-card,30px);padding:clamp(22px,3vw,34px)}
.course-page__fig--wide{max-width:1000px}
.course-page__fig-cap{margin:18px 0 0;text-align:center;font-size:13px;color:var(--cue-color-midgray);letter-spacing:.02em}

.course-rail{display:grid;gap:14px;margin-top:38px}
.course-day{display:grid;grid-template-columns:auto 1fr;gap:24px;background:var(--cue-color-white);border:1px solid var(--cue-border-color);border-radius:var(--cue-radius-card,30px);padding:28px 30px}
.course-day__n{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(40,89,225,.10);color:var(--cue-color-blue);font-weight:700;font-size:17px;letter-spacing:.02em}
.course-day--lab .course-day__n{background:var(--cue-color-blue);color:#fff}
.course-day__title{font-size:19px;font-weight:600;letter-spacing:-.005em;margin:2px 0 0}
.course-day__theme{margin:10px 0 0;font-size:15px;line-height:1.65;color:var(--cue-color-darkmidgray)}
.course-day__aha{margin:16px 0 0;padding-left:16px;border-left:2px solid var(--cue-color-green);font-size:14.5px;line-height:1.6;color:var(--cue-color-darkgray);font-style:italic}
.course-day__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.course-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--cue-color-darkmidgray);background:var(--cue-main-background);border-radius:9999px;padding:5px 12px}
.course-tag .cue-icon{font-size:15px;color:var(--cue-color-midgray)}
.course-tag--lab{background:rgba(40,89,225,.10);color:var(--cue-color-blue)}
.course-tag--lab .cue-icon{color:var(--cue-color-blue)}

.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:34px}
.course-card{background:var(--cue-color-white);border:1px solid var(--cue-border-color);border-radius:var(--cue-radius-card,30px);padding:26px 28px}
.course-card__ico{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:rgba(40,89,225,.10);color:var(--cue-color-blue);margin-bottom:16px}
.course-card__ico .cue-icon{font-size:23px}
.course-card__h{font-size:16px;font-weight:600;margin:0}
.course-card__b{margin:9px 0 0;font-size:14.5px;line-height:1.62;color:var(--cue-color-darkmidgray)}

.course-formats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.course-format{background:var(--cue-color-white);border:1px solid var(--cue-border-color);border-radius:var(--cue-radius-card,30px);padding:30px 32px}
.course-format--primary{border-color:var(--cue-color-blue);box-shadow:0 1px 1.5em rgba(40,89,225,.12)}
.course-format__k{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cue-color-blue)}
.course-format__h{font-size:22px;font-weight:600;margin:14px 0 0;letter-spacing:-.01em}
.course-format__b{margin:12px 0 0;font-size:15px;line-height:1.65;color:var(--cue-color-darkmidgray)}
.course-format__list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.course-format__list li{display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:14.5px;line-height:1.55;color:var(--cue-color-darkmidgray)}
.course-format__list .cue-icon{font-size:18px;color:var(--cue-color-blue)}
@media (max-width:820px){.course-formats{grid-template-columns:1fr}.course-day{grid-template-columns:1fr}}

.course-cta{margin-top:clamp(44px,6vw,72px);background:var(--cue-color-darkgray);border-radius:var(--cue-radius-card,30px);padding:clamp(38px,5vw,60px);text-align:center}
.course-cta h2{color:#fff;margin:0}
.course-cta p{color:rgba(255,255,255,.72);margin:16px auto 0;max-width:560px;font-size:16px;line-height:1.65}
.course-cta__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}
