/* Learning journeys only. The homepage and reading experience keep their own styles. */
body.subpage-clean .simple-path.journey-path { background: var(--paper); font-family: var(--font-ui); }
body.subpage-clean .journey-path .wrap { max-width: var(--page); }
body.subpage-clean .journey-path .path-hero { padding: var(--s6) 0 var(--s7); border-bottom: var(--rule); }
body.subpage-clean .journey-path .path-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--s7); max-width: var(--page); align-items: center; }
body.subpage-clean .journey-path .crumbs { margin: 0 0 var(--s5); }
body.subpage-clean .journey-path h1 { font: 700 var(--fs-h1)/1.12 var(--font-ui); letter-spacing: var(--track-head); max-width: 16ch; margin: 0; }
body.subpage-clean .journey-path .path-hero .lead { max-width: 39ch; font: 400 var(--fs-ui-lg)/1.6 var(--font-ui); margin: var(--s4) 0 var(--s5); }
body.subpage-clean .journey-path .journey-scene { margin: 0; width: 100%; }
body.subpage-clean .journey-path .journey-scene img { display: block; width: 100%; max-width: none; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
body.subpage-clean .journey-path .journey-progress { max-width: 29rem; }
body.subpage-clean .journey-path .journey-progress-label { display: flex; gap: var(--s3); justify-content: space-between; font: 400 var(--fs-small)/1.5 var(--font-ui); }
body.subpage-clean .journey-path .journey-progress-label > span { color: var(--ink-3); }
body.subpage-clean .journey-path progress { appearance: none; display: block; width: 100%; height: var(--s2); border: 0; border-radius: var(--r-lg); overflow: hidden; margin-top: var(--s2); background: var(--mist); color: var(--brand); }
body.subpage-clean .journey-path progress::-webkit-progress-bar { background: var(--mist); border-radius: var(--r-lg); }
body.subpage-clean .journey-path progress::-webkit-progress-value { background: var(--brand); border-radius: var(--r-lg); transition: width 350ms ease; }
body.subpage-clean .journey-path progress::-moz-progress-bar { background: var(--brand); border-radius: var(--r-lg); }
body.subpage-clean .journey-path .path-hero .path-cta { margin: var(--s4) 0 0; }
body.subpage-clean .journey-path .btn--path { display: inline-flex; justify-content: space-between; align-items: center; gap: var(--s5); min-height: var(--tap); background: var(--brand); color: var(--on-ink); border: 1px solid var(--brand); border-radius: var(--r-lg); font-size: var(--fs-ui); padding: var(--s3) var(--s5); }
body.subpage-clean .journey-path .btn--path:hover { background: var(--brand-ink); border-color: var(--brand-ink); }
body.subpage-clean .journey-path .journey-save-note { max-width: 38ch; font-size: var(--fs-small); color: var(--ink-3); margin: var(--s3) 0 0; line-height: 1.5; }
body.subpage-clean .journey-path .path-curriculum { max-width: var(--page); }
body.subpage-clean .journey-path .journey-map { max-width: none; margin: var(--s7) 0 0; padding: 0; }
body.subpage-clean .journey-path .journey-chapter { margin: 0 0 var(--s7); }
body.subpage-clean .journey-path .journey-unit { display: flex; align-items: center; gap: var(--s4); border: 0; padding: 0; margin: 0 0 var(--s5); }
body.subpage-clean .journey-path .journey-chapter-icon { display: grid; place-items: center; width: 4rem; height: 4rem; flex: none; background: var(--margin); color: var(--ink); border-radius: var(--r-lg); }
body.subpage-clean .journey-path .journey-chapter-icon svg { width: var(--s6); height: var(--s6); }
body.subpage-clean .journey-path .journey-chapter-number { display: block; color: var(--ink-3); font-size: var(--fs-small); margin-bottom: var(--s1); }
body.subpage-clean .journey-path .journey-unit h2 { margin: 0 0 var(--s1); font: 700 var(--fs-h3)/1.3 var(--font-ui); scroll-margin-top: calc(var(--header-h) + var(--s8)); }
body.subpage-clean .journey-path .journey-unit p { max-width: 57ch; margin: 0; font: 400 var(--fs-small)/1.5 var(--font-ui); color: var(--ink-2); }
body.subpage-clean .journey-path .stops { max-width: none; margin: 0 auto; padding: 0; list-style: none; }
body.subpage-clean .journey-path .journey-stop { display: block; position: relative; padding: 0; margin: var(--s3) var(--s7) 0 0; }
body.subpage-clean .journey-path .journey-stop:nth-child(even) { margin-left: var(--s7); margin-right: 0; }
body.subpage-clean .journey-path .journey-stop::before { content: none; }
body.subpage-clean .journey-path .journey-stop + .journey-stop::before { content: ''; display: block; position: absolute; width: var(--s7); height: var(--s4); left: var(--s6); top: calc(-1 * var(--s4)); border: solid var(--line-strong); border-width: 0 0 2px 2px; border-bottom-left-radius: var(--r-lg); z-index: 0; }
body.subpage-clean .journey-path .journey-stop:nth-child(odd)::before { left: calc(var(--s6) + var(--s7)); border-width: 0 2px 2px 0; border-radius: 0; border-bottom-right-radius: var(--r-lg); }
body.subpage-clean .journey-path .journey-stop a { position: relative; display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) var(--s5); align-items: center; gap: var(--s4); min-height: 5.5rem; padding: var(--s4); border: 0; border-radius: 0; background: var(--paper); color: var(--ink); text-decoration: none; transition: transform 150ms ease; }
body.subpage-clean .journey-path .journey-stop a::after { border-radius: var(--r-lg); }
body.subpage-clean .journey-path .journey-stop a:hover { transform: translateY(-2px); }
body.subpage-clean .journey-path .journey-stop a:focus-visible::after { outline: 3px solid var(--brand-ink); outline-offset: 3px; }
body.subpage-clean .journey-path .journey-node { display: grid; place-items: center; position: relative; width: 3.5rem; height: 3.5rem; background: var(--mist); border: 1px solid var(--line); border-radius: 50%; color: var(--ink-2); }
body.subpage-clean .journey-path .journey-node svg { width: 1.8rem; height: 1.8rem; }
body.subpage-clean .journey-path .journey-check { display: none; }
body.subpage-clean .journey-path .journey-lesson-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s1) var(--s3); color: var(--ink-3); font: 400 var(--fs-small)/1.3 var(--font-ui); margin-bottom: var(--s2); }
body.subpage-clean .journey-path .stop-status { margin: 0; font-size: var(--fs-small); font-weight: 400; line-height: 1.3; text-transform: none; letter-spacing: normal; color: var(--ink-3); }
body.subpage-clean .journey-path .stop-title { display: block; font: 700 var(--fs-ui-lg)/1.35 var(--font-ui); }
body.subpage-clean .journey-path .journey-arrow { color: var(--ink-3); font-size: var(--fs-ui-lg); }
body.subpage-clean .journey-path .journey-stop.is-next a { border: 0; background: var(--paper); }
body.subpage-clean .journey-path .journey-stop.is-next .journey-node { color: var(--brand-ink); background: var(--brand-wash); border-color: var(--brand); }
body.subpage-clean .journey-path .journey-stop.is-next .stop-status { color: var(--brand-ink); font-weight: 700; }
body.subpage-clean .journey-path .journey-stop.is-done .journey-node { background: var(--ink); color: var(--on-ink); border-color: var(--ink); }
body.subpage-clean .journey-path .journey-stop.is-done .journey-node svg { display: none; }
body.subpage-clean .journey-path .journey-stop.is-done .journey-check { display: block; font-size: var(--fs-h2); line-height: 1; }
body.subpage-clean .journey-path .journey-stop.is-done .stop-status { color: var(--ink); font-weight: 700; }
body.subpage-clean .journey-path .journey-product { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s4); padding: var(--s5) 0; margin: var(--s6) 0 0; border-top: var(--rule); border-bottom: var(--rule); }
body.subpage-clean .journey-path .journey-product > picture, body.subpage-clean .journey-path .journey-product > picture img { width: 56px; height: 56px; flex: none; }
body.subpage-clean .journey-path .journey-product > div { flex: 1 1 16rem; }
body.subpage-clean .journey-path .journey-product h2 { margin: 0 0 var(--s2); font: 700 var(--fs-ui-lg)/1.4 var(--font-ui); }
body.subpage-clean .journey-path .journey-product p { margin: 0; color: var(--ink-3); font-size: var(--fs-small); }
body.subpage-clean .journey-path .journey-product > a { min-height: var(--tap); display: inline-flex; align-items: center; gap: var(--s3); font-size: var(--fs-ui); font-weight: 700; color: var(--brand-ink); text-underline-offset: var(--s1); }
body.subpage-clean .journey-path .journey-finish { text-align: center; margin: var(--s6) 0; }
body.subpage-clean .journey-path .journey-finish[hidden] { display: none; }
body.subpage-clean .journey-path .journey-finish-icon { display: grid; place-items: center; width: var(--s8); height: var(--s8); margin: 0 auto var(--s4); color: var(--brand-ink); background: var(--brand-wash); border-radius: 50%; }
body.subpage-clean .journey-path .journey-finish-icon svg { width: var(--s7); height: var(--s7); }
body.subpage-clean .journey-path .journey-finish h2 { font-size: var(--fs-h3); }
body.subpage-clean .journey-path .journey-finish p { font-size: var(--fs-ui); }
body.subpage-clean .journey-path .journey-live:empty { display: none; }
body.subpage-clean .journey-path .journey-live { font-size: var(--fs-small); color: var(--ink-3); }
body.subpage-clean .journey-path .path-activity, body.subpage-clean .journey-path .path-resources { max-width: var(--page); }
body.subpage-clean .journey-path .path-resources { margin-top: var(--s6); padding-top: var(--s5); }
body.subpage-clean .journey-path .path-resources ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); }
body.subpage-clean .journey-path .path-resources li { padding: 0; }
body.subpage-clean .journey-path .path-resources li a { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); min-height: var(--tap); padding: var(--s2) 0; }
body.subpage-clean .journey-path a:focus-visible { outline: 3px solid var(--brand-ink); outline-offset: 3px; }
@keyframes journey-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes journey-finish { 0% { transform: scale(.9); } 60% { transform: scale(1.06); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: no-preference) {
  .js .journey-path .journey-scene { animation: journey-enter 500ms ease-out both; }
  .js .journey-path .journey-stop.is-next .journey-node { animation: journey-enter 400ms ease-out both; }
  .js .journey-path .journey-finish.is-celebrating .journey-finish-icon { animation: journey-finish 650ms ease-out both; }
}
@media (max-width: 52rem) {
  body.subpage-clean .journey-path .path-hero-grid { gap: var(--s5); }
  body.subpage-clean .journey-path .journey-scene { align-self: center; }
  body.subpage-clean .journey-path .path-resources ul { grid-template-columns: minmax(0, 1fr); gap: var(--s3); }
}
@media (max-width: 40rem) {
  body.subpage-clean .journey-path .path-hero { padding-bottom: var(--s6); }
  body.subpage-clean .journey-path .path-hero-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s4); }
  body.subpage-clean .journey-path .journey-hero-copy { display: contents; }
  body.subpage-clean .journey-path .journey-hero-copy .crumbs { margin-bottom: 0; }
  body.subpage-clean .journey-path h1 { max-width: 18ch; }
  body.subpage-clean .journey-path .path-hero .lead { margin: 0; }
  body.subpage-clean .journey-path .journey-scene { grid-row: 4; width: min(100%, 22rem); justify-self: center; }
  body.subpage-clean .journey-path .journey-progress { max-width: none; }
  body.subpage-clean .journey-path .journey-save-note { max-width: none; }
  body.subpage-clean .journey-path .btn--path { width: 100%; }
  body.subpage-clean .journey-path .journey-map { margin-top: var(--s6); }
  body.subpage-clean .journey-path .journey-unit { align-items: start; gap: var(--s3); }
  body.subpage-clean .journey-path .journey-chapter-icon { width: var(--s7); height: var(--s7); }
  body.subpage-clean .journey-path .journey-chapter-icon svg { width: var(--s5); height: var(--s5); }
  body.subpage-clean .journey-path .journey-stop, body.subpage-clean .journey-path .journey-stop:nth-child(even) { margin-left: 0; margin-right: 0; }
  body.subpage-clean .journey-path .journey-stop:nth-child(odd)::before, body.subpage-clean .journey-path .journey-stop + .journey-stop::before { width: 0; left: calc(var(--s4) + 1.75rem); border: 0; border-left: 2px solid var(--line-strong); border-radius: 0; }
  body.subpage-clean .journey-path .journey-stop a { gap: var(--s3); grid-template-columns: var(--s7) minmax(0, 1fr); padding: var(--s3); }
  body.subpage-clean .journey-path .journey-node { width: var(--s7); height: var(--s7); }
  body.subpage-clean .journey-path .journey-node svg { width: var(--s5); height: var(--s5); }
  body.subpage-clean .journey-path .journey-arrow { display: none; }
  body.subpage-clean .journey-path .journey-lesson-top { display: block; }
  body.subpage-clean .journey-path .stop-status { margin-left: var(--s3); }
  body.subpage-clean .journey-path .stop-title { font-size: var(--fs-ui); }
  body.subpage-clean .journey-path .journey-product { gap: var(--s3); }
  body.subpage-clean .journey-path .journey-product > div { flex-basis: calc(100% - 72px); }
  body.subpage-clean .journey-path .journey-product > a { margin-left: 68px; }
}
@media (prefers-reduced-motion: reduce) {
  body.subpage-clean .journey-path *, body.subpage-clean .journey-path *::before, body.subpage-clean .journey-path *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
body.subpage-clean .journey-path .journey-compare { margin: var(--s3) 0 0; font-size: var(--fs-small); }
body.subpage-clean .journey-path .journey-compare a { min-height: var(--tap); display: inline-flex; align-items: center; gap: var(--s3); color: var(--ink-2); text-underline-offset: var(--s1); }
body.subpage-clean .journey-path .journey-map .journey-product { margin: calc(-1 * var(--s4)) 0 var(--s7); }

body.subpage-clean .journey-path .path-library a { display: inline-flex; align-items: center; min-height: var(--tap); }
