/* pg-course.css · the eight On-Demand course pages (academy/<course>.html), built by .research/reset/r6/courses/build_courses.py.
   Light Academy theme on top of kit.css, pg-academy.css, pg-mastery-intros.css and pg-flagships.css; only what those lack.
   Tokens only (brand-tokens.css / kit.css). Magenta stays the one action: the k-btn--decision buttons. */

/* hero: who it is for, above the course name */
.pc-for{ margin:14px 0 8px; font:500 var(--fs-meta, 12px)/1.4 var(--font-mono); letter-spacing:var(--track-label); text-transform:uppercase; color:var(--ink-muted); }
.pc-hero .ac-badges + .pc-for{ margin-top:18px; }
.pc-hero .t-hero{ text-wrap:balance; max-width:16ch; }
.pc-nb{ white-space:nowrap; }
.pc-hero__art .mi-art--phone{ aspect-ratio:auto; min-height:520px; }
@media (max-width:767px){ .pc-hero__art .mi-art--phone{ min-height:0; } }

/* outline: each topic carries one line on what it covers */
.pc-lesson{ grid-template-columns:28px minmax(0,1fr) auto; padding-block:16px; }
.pc-lesson .ac-lesson__t{ font-weight:600; }
.pc-lesson__d{ grid-column:2 / -1; font:400 15px/1.55 var(--font-sans); color:var(--ink-muted); text-wrap:pretty; max-width:60ch; }
.pc-lesson--cert .ac-lesson__n{ display:grid; place-items:center; color:var(--ink); }
.pc-lesson--cert .ac-lesson__n .ac-ico{ width:18px; height:18px; }

/* outline aside: the course at a glance */
.pc-glance{ display:grid; gap:16px; align-content:start; }
.pc-glance__card{ display:grid; gap:12px; padding:clamp(20px, 2.4vw, 28px); }
.pc-glance__card .t-eyebrow{ margin:0; }
.pc-terms{ margin:0; grid-template-columns:repeat(2, minmax(0,1fr)); }
.pc-terms dd{ font-size:14px; }
.pc-glance__buy{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 16px; padding-top:6px; }
.pc-glance__buy .ac-buy__price{ font-size:22px; }

/* who it is for: the moves share the row */
.pc-cases{ grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }

/* the course space scene (courses with no track scene of their own): the four topics in the RIVET Labs app window */
.pc-space .pui-prog{ margin:4px 0 10px; }
.pc-space .pui-prog i{ background:var(--purple); }
.pc-space__list li{ align-items:center; }
.pc-space__list li > span:nth-child(2){ color:var(--ink-muted); }
.pc-space__st{ display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:999px; background:var(--ground); font:500 11px/1 var(--font-mono); letter-spacing:.04em; text-transform:uppercase; color:var(--ink-muted); white-space:nowrap; }
.pc-space__st svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.pc-space__st--done{ background:var(--green-50, #E3FFEC); color:var(--green-700, #00663B); }
.pc-space__st--now{ background:var(--purple); color:var(--white, #fff); }
.pc-space__cert > span:first-child{ display:grid; place-items:start center; color:var(--ink); }
.pc-space__cert .ac-ico{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.pc-space__prog .pui-meta{ white-space:nowrap; }
@media (max-width:560px){
  .pc-space .pui-card__h .pui-meta:not(.pc-space__prog *){ display:none; }
  .pc-space__list li{ grid-template-columns:24px minmax(0,1fr); }
  .pc-space__list li > .pc-space__st{ grid-column:2; justify-self:start; }
}

/* ways to take it: the course on its own leads */
@media (min-width:1024px){ .pc-ways{ grid-template-columns:repeat(3, minmax(0,1fr)); } .pc-ways > .ac-way--lead{ grid-column:span 2; }
  .pc-ways--4{ grid-template-columns:repeat(2, minmax(0,1fr)); } .pc-ways--4 > .ac-way--lead{ grid-column:auto; } }
.pc-ways + .t-small{ margin-top:16px; }

/* next course */
a.pc-next{ display:grid; overflow:hidden; padding:0; color:var(--ink); text-decoration:none; border-radius:var(--radius-card); transition:box-shadow var(--dur-instant) var(--ease-standard), translate var(--dur-instant) var(--ease-standard); }
@media (min-width:768px){ a.pc-next{ grid-template-columns:minmax(0, 5fr) minmax(0, 7fr); } }
a.pc-next:hover, a.pc-next:focus-visible{ box-shadow:var(--card-lift-hover); translate:0 -2px; }
.pc-next:focus-visible{ outline:3px solid var(--focus-ring); outline-offset:2px; }
.pc-next__media{ display:grid; place-items:center; padding:clamp(24px, 4vw, 48px); min-height:220px; }
.pc-next__media img{ display:block; width:min(100%, 360px); height:auto; aspect-ratio:640 / 453; rotate:-2deg; border-radius:2px; box-shadow:0 1px 2px rgba(0,0,0,.35), 0 18px 36px -14px rgba(0,0,0,.75); transition:rotate var(--dur-base) var(--ease-standard); }
a.pc-next:hover .pc-next__media img{ rotate:0deg; }
.pc-next__body{ display:grid; gap:10px; align-content:center; padding:clamp(20px, 3vw, 36px); }
.pc-next__t{ font:600 var(--role-card, 22px)/1.25 var(--font-sans); letter-spacing:-0.01em; text-wrap:balance; }
.pc-next__topics{ display:flex; flex-wrap:wrap; gap:8px; }
.pc-next__topics span{ padding:6px 10px; border-radius:999px; background:var(--ground-alt); font:500 13px/1.3 var(--font-sans); color:var(--ink); }
.pc-next__go{ display:inline-flex; align-items:center; gap:8px; margin-top:4px; font:500 var(--fs-meta, 12px)/1.3 var(--font-mono); letter-spacing:var(--track-label); text-transform:uppercase; color:var(--ink); }
.pc-next__go .ac-ico{ width:16px; height:16px; transition:translate var(--dur-instant) var(--ease-standard); }
a.pc-next:hover .pc-next__go .ac-ico{ translate:4px 0; }
[dir="rtl"] .pc-next__go .ac-ico{ scale:-1 1; }
[dir="rtl"] a.pc-next:hover .pc-next__go .ac-ico{ translate:-4px 0; }

@media (prefers-reduced-motion:reduce){ .pc-next, .pc-next__media img, .pc-next__go .ac-ico{ transition:none; } }

/* the sticky buy bar: a long course name gives way to the button on a phone */
@media (max-width:1023px){
  .pc .k-applybar__id{ min-width:0; flex:1 1 auto; }
  .pc .k-applybar__id b{ min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; }
}
@media (max-width:767px){ .pc .k-applybar__id .ac-barcert{ display:none; } }
