.course-page { background: var(--uw-paper-0); }
.course-page--foundations .course-build-map { background: linear-gradient(155deg,#251d18 0%,#31251e 58%,#4b2f1d 100%); }
.course-page--applied-foundations .course-build-map { background: linear-gradient(155deg,#1d211f 0%,#26302c 58%,#3e3820 100%); }
.course-page--foundations .course-capstone { background: var(--uw-amber-500); }
.course-page--applied-foundations .course-capstone { background: var(--uw-ember-300); }
.course-subnav { position: sticky; z-index: 40; top: 5.25rem; border-bottom: 1px solid var(--uw-border); background: color-mix(in srgb,var(--uw-paper-0) 96%,transparent); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.course-subnav__inner { min-height: 3.65rem; display: flex; align-items: center; justify-content: space-between; gap: var(--uw-space-5); overflow: hidden; }
.course-subnav a { text-decoration: none; }
.course-subnav__back { flex: 0 0 auto; display: inline-flex; align-items: center; gap: var(--uw-space-2); color: var(--uw-ink-900); font: 600 .7rem var(--uw-font-mono); letter-spacing: .07em; text-transform: uppercase; }
.course-subnav__back:hover { color: var(--uw-flame-700); }
.course-subnav__links { display: flex; align-items: center; gap: var(--uw-space-2); min-width: 0; padding-block: .45rem; overflow-x: auto; scrollbar-width: none; }
.course-subnav__links::-webkit-scrollbar { display: none; }
.course-subnav__links a { flex: 0 0 auto; padding: .5rem .75rem; border-radius: 999px; color: var(--uw-muted-700); font-family: var(--uw-font-display); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.course-subnav__links a:hover { background: var(--uw-sand-100); color: var(--uw-ink-900); }
.course-subnav__links a[aria-current="page"] { background: var(--uw-ink-900); color: var(--uw-white); }
.course-hero { position: relative; overflow: hidden; min-height: clamp(44rem, calc(100svh - 5.25rem), 58rem); display: grid; align-items: center; padding-block: clamp(4rem, 7vw, 7rem); border-bottom: 1px solid var(--uw-border); background: radial-gradient(circle at 85% 12%, rgba(249,181,38,.2), transparent 28rem), radial-gradient(circle at 7% 88%, rgba(252,66,51,.08), transparent 29rem), var(--uw-paper-0); }
.course-hero__thread { position: absolute; top: -26rem; right: 8vw; width: 42rem; aspect-ratio: 1; border: 1px solid rgba(249,181,38,.7); border-radius: 50%; }
.course-hero__owl { position: absolute; left: -7rem; bottom: -8rem; width: 27rem; opacity: .025; transform: rotate(-8deg); }
.course-hero__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.18fr) minmax(20rem,.65fr); gap: clamp(3rem,7vw,8rem); align-items: center; }
.course-status { display: flex; align-items: center; gap: var(--uw-space-3); margin-bottom: var(--uw-space-7); color: var(--uw-ink-900); font: 600 var(--uw-text-xs) var(--uw-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.course-status span { width: .65rem; height: .65rem; border-radius: 50%; background: var(--uw-flame-500); box-shadow: 0 0 0 .35rem rgba(252,66,51,.12); }
.course-hero h1 { max-width: 12.2ch; margin: var(--uw-space-5) 0; font-size: clamp(3.15rem,2rem + 4vw,7.2rem); letter-spacing: -.065em; line-height: .9; }
.course-hero h1 span, .course-section-intro h2 span { background: linear-gradient(90deg,var(--uw-flame-500),var(--uw-ember-300),var(--uw-amber-500)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.course-hero .uw-lead { max-width: 58ch; }
.course-hero__actions { margin-top: var(--uw-space-6); }
.course-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--uw-space-5); margin: var(--uw-space-8) 0 0; padding-top: var(--uw-space-5); border-top: 1px solid var(--uw-border); }
.course-facts dt, .course-build-map__top, .course-build-map__bottom, .course-cadence > span, .course-week-build span, .course-instructor-grid article > span, .course-included__grid article > span { color: var(--uw-flame-700); font: 600 .7rem var(--uw-font-mono); letter-spacing: .09em; text-transform: uppercase; }
.course-facts dd { margin: .25rem 0 0; font-family: var(--uw-font-display); font-size: var(--uw-text-sm); font-weight: 720; line-height: 1.35; }
.course-build-map { min-height: 35rem; padding: var(--uw-space-6); display: flex; flex-direction: column; border-radius: var(--uw-radius-lg); background: var(--uw-ink-900); color: var(--uw-white); box-shadow: 1.5rem 1.5rem 0 var(--uw-sand-200); transform: rotate(1deg); }
.course-build-map__top, .course-build-map__bottom { display: flex; justify-content: space-between; color: rgba(255,255,255,.52); }
.course-build-map__visual { position: relative; width: min(20rem,78%); aspect-ratio: 1; display: grid; place-items: center; margin: auto; }
.course-build-map__orbit { position: absolute; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }
.course-build-map__orbit--outer { inset: 0; }
.course-build-map__orbit--inner { inset: 21%; border-color: rgba(249,181,38,.48); border-style: dashed; }
.course-build-map__centre { position: relative; z-index: 2; width: 8.7rem; aspect-ratio: 1; display: grid; place-items: center; padding: 1.35rem; border-radius: 50%; background: var(--uw-amber-500); color: var(--uw-ink-900); text-align: center; }
.course-build-map__centre img { width: 2.75rem; }
.course-build-map__centre strong { font-family: var(--uw-font-display); font-size: .9rem; line-height: 1.15; }
.course-build-map__label { position: absolute; z-index: 3; padding: .35rem .55rem; background: var(--uw-flame-500); color: var(--uw-white); font: 600 .65rem var(--uw-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.course-build-map__label--build { top: 7%; left: 2%; }
.course-build-map__label--evaluate { top: 45%; right: -15%; background: var(--uw-white); color: var(--uw-ink-900); }
.course-build-map__label--optimise { bottom: 4%; left: 9%; background: var(--uw-ember-300); }
.course-build-map__progress { display: grid; gap: .45rem; margin-bottom: var(--uw-space-4); }
.course-build-map__progress span { height: 2px; background: var(--uw-amber-500); }
.course-build-map__progress span:nth-child(1) { width: 38%; }.course-build-map__progress span:nth-child(2) { width: 61%; }.course-build-map__progress span:nth-child(3) { width: 82%; }.course-build-map__progress span:nth-child(4) { width: 100%; }
.course-method { background: var(--uw-amber-500); }
.course-method__items { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: var(--uw-space-5); color: var(--uw-ink-900); font: 600 var(--uw-text-xs) var(--uw-font-mono); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; overflow-x: auto; }
.course-method__items i { color: rgba(26,21,18,.38); font-style: normal; }
.course-section-intro { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(18rem,.55fr); gap: clamp(2.5rem,6vw,7rem); align-items: end; }
.course-section-intro h2, .course-fit h2, .course-entry h2, .course-programme h2, .course-capstone h2, .course-included h2, .course-faq h2 { max-width: 17ch; margin: var(--uw-space-4) 0 0; font-size: clamp(2.3rem,1.6rem + 2.5vw,5rem); letter-spacing: -.055em; line-height: .98; }
.course-section-intro > p { margin-bottom: 0; font-size: var(--uw-text-md); }
.course-outcome-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: var(--uw-space-9); border-top: 1px solid var(--uw-ink-900); }
.course-outcome-grid article { min-height: 19rem; padding: var(--uw-space-5); border-right: 1px solid var(--uw-border); }
.course-outcome-grid article:first-child { padding-left: 0; }.course-outcome-grid article:last-child { border-right: 0; }
.course-outcome-grid article > span { color: var(--uw-flame-700); font: 600 var(--uw-text-xs) var(--uw-font-mono); }
.course-outcome-grid h3 { margin: var(--uw-space-9) 0 var(--uw-space-3); }.course-outcome-grid p { margin-bottom: 0; font-size: var(--uw-text-sm); }
.course-fit { padding-block: var(--uw-section); background: var(--uw-ink-900); color: var(--uw-white); }
.course-fit h2, .course-fit h3 { color: var(--uw-white); }
.course-fit__layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(3rem,8vw,9rem); }
.course-fit__columns { display: grid; grid-template-columns: 1fr 1fr; gap: var(--uw-space-7); }
.course-fit__columns > div { padding-top: var(--uw-space-5); border-top: 1px solid rgba(255,255,255,.38); }
.course-fit__columns ul { display: grid; gap: var(--uw-space-3); padding: 0; list-style: none; }
.course-fit__columns li { position: relative; padding-left: 1.4rem; color: rgba(255,255,255,.76); font-size: var(--uw-text-sm); }
.course-fit__columns li::before { position: absolute; left: 0; color: var(--uw-amber-500); content: "↳"; }
.course-fit__note { padding: var(--uw-space-4); margin-top: var(--uw-space-6); background: rgba(255,255,255,.07); color: rgba(255,255,255,.72); font-size: var(--uw-text-xs); }.course-fit__note strong { color: white; }
.course-entry { background: var(--uw-paper-0); }
.course-entry__grid { display: grid; grid-template-columns: minmax(0,.84fr) minmax(0,1.16fr); gap: var(--uw-space-5); margin-top: var(--uw-space-9); }
.course-entry__grid article { position: relative; min-height: 24rem; padding: clamp(1.5rem,3vw,2.5rem); border: 1px solid var(--uw-border); border-top: 3px solid var(--uw-ink-900); border-radius: var(--uw-radius-md); background: var(--uw-white); box-shadow: var(--uw-shadow-sm); }
.course-entry__grid article::after { position: absolute; top: 1.25rem; right: 1.25rem; width: .65rem; height: .65rem; border-radius: 50%; background: var(--uw-ink-900); content: ""; }
.course-entry__grid .course-entry__bridge { border-top-color: var(--uw-flame-500); background: linear-gradient(145deg,var(--uw-white),var(--uw-amber-200)); }
.course-entry__grid .course-entry__bridge::after { background: var(--uw-flame-500); box-shadow: 0 0 0 .35rem rgba(252,66,51,.12); }
.course-entry__label { display: flex; align-items: baseline; gap: var(--uw-space-3); color: var(--uw-flame-700); font: 600 .7rem var(--uw-font-mono); letter-spacing: .07em; text-transform: uppercase; }
.course-entry__label strong { color: var(--uw-ink-900); }
.course-entry__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--uw-space-3); padding: var(--uw-space-3) 0; margin-top: var(--uw-space-5); border-top: 1px solid var(--uw-border); border-bottom: 1px solid var(--uw-border); font: 600 .68rem var(--uw-font-mono); letter-spacing: .04em; text-transform: uppercase; }
.course-entry__meta > span { color: var(--uw-muted-700); text-align: right; }
.course-entry__grid h3 { max-width: 16ch; margin: var(--uw-space-7) 0 var(--uw-space-3); font-size: var(--uw-text-xl); }
.course-entry__grid p { max-width: 58ch; font-size: var(--uw-text-sm); }
.course-entry__steps { display: grid; gap: 0; padding: 0; margin: var(--uw-space-6) 0 0; border-top: 1px solid var(--uw-border); list-style: none; }
.course-entry__steps li { display: grid; grid-template-columns: 2.4rem minmax(0,1fr); gap: var(--uw-space-3); padding-block: var(--uw-space-4); border-bottom: 1px solid var(--uw-border); }
.course-entry__steps li > span { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--uw-ink-900); color: var(--uw-white); font: 600 .62rem var(--uw-font-mono); }
.course-entry__bridge .course-entry__steps li > span { background: var(--uw-flame-500); }
.course-entry__steps li strong { display: block; font-family: var(--uw-font-display); font-size: var(--uw-text-sm); }
.course-entry__steps li p { margin: .2rem 0 0; color: var(--uw-muted-700); font-size: var(--uw-text-xs); }
.course-entry__choice-list { display: grid; gap: var(--uw-space-3); padding: var(--uw-space-5) 0 0; margin: var(--uw-space-5) 0 0; border-top: 1px solid var(--uw-border); list-style: none; }
.course-entry__choice-list li { position: relative; padding-left: 1.4rem; font-size: var(--uw-text-sm); }
.course-entry__choice-list li::before { position: absolute; left: 0; color: var(--uw-flame-700); content: "↳"; }
.course-entry__outcome { padding: var(--uw-space-4); margin-top: var(--uw-space-6); background: var(--uw-ink-900); color: var(--uw-white); font: 600 .72rem var(--uw-font-mono); letter-spacing: .04em; }
.course-programme { background: var(--uw-sand-50); }
.course-programme__layout { display: grid; grid-template-columns: minmax(18rem,.72fr) minmax(0,1.28fr); gap: clamp(3rem,8vw,9rem); }
.course-programme__intro { align-self: start; position: sticky; top: 8rem; }.course-programme__intro > p { max-width: 55ch; margin-top: var(--uw-space-6); }
.course-cadence { max-width: 29rem; padding: var(--uw-space-5); margin-top: var(--uw-space-7); border: 1px solid var(--uw-border); border-top: 3px solid var(--uw-flame-500); border-radius: var(--uw-radius-md); background: var(--uw-white); box-shadow: var(--uw-shadow-sm); }
.course-cadence ul { display: grid; grid-template-columns: 1fr 1fr; gap: var(--uw-space-3); padding: var(--uw-space-4) 0 0; margin: var(--uw-space-4) 0 0; border-top: 1px solid var(--uw-border); list-style: none; font-size: var(--uw-text-xs); }.course-cadence li::before { margin-right: var(--uw-space-2); color: var(--uw-success); content: "✓"; }
.course-week-list { border-top: 1px solid var(--uw-ink-900); }.course-week-list details { border-bottom: 1px solid var(--uw-border); }
.course-week-phase { display: grid; grid-template-columns: 7rem minmax(0,1fr) auto; align-items: center; gap: var(--uw-space-4); padding: var(--uw-space-4); background: var(--uw-ink-900); color: var(--uw-white); }
.course-week-phase span, .course-week-phase em { font: 600 .68rem var(--uw-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.course-week-phase strong { font-family: var(--uw-font-display); font-size: var(--uw-text-md); }
.course-week-phase em { color: var(--uw-amber-500); font-style: normal; text-align: right; }
.course-week-phase--core { margin-top: var(--uw-space-6); background: var(--uw-flame-500); }
.course-week-phase--core em { color: var(--uw-white); }
.course-week-list summary { min-height: 6.25rem; display: grid; grid-template-columns: 4rem minmax(0,1fr) 2rem; align-items: center; gap: var(--uw-space-4); list-style: none; cursor: pointer; }.course-week-list summary::-webkit-details-marker { display: none; }
.course-week-list summary > span { color: var(--uw-flame-700); font: 600 var(--uw-text-xs) var(--uw-font-mono); }.course-week-list summary strong { font-family: var(--uw-font-display); font-size: var(--uw-text-lg); line-height: 1.2; }.course-week-list summary i { font-size: 1.75rem; font-style: normal; transition: transform var(--uw-duration-base) var(--uw-ease); }.course-week-list details[open] summary i { transform: rotate(45deg); }
.course-week-list details > div { padding: 0 0 var(--uw-space-6) 5rem; }.course-week-list details > div > p:first-child { max-width: 60ch; }
.course-week-build { display: flex; gap: var(--uw-space-4); padding: var(--uw-space-4); margin: var(--uw-space-5) 0 0; background: var(--uw-amber-200); color: var(--uw-ink-900); font-size: var(--uw-text-sm); font-weight: 600; }.course-week-build span { flex: 0 0 auto; }
.course-capstone { padding-block: var(--uw-section); background: var(--uw-flame-500); color: var(--uw-ink-900); }.course-capstone .uw-kicker { color: var(--uw-ink-900); }.course-capstone .uw-kicker::before { background: var(--uw-ink-900); }
.course-capstone__layout { display: grid; grid-template-columns: minmax(0,.82fr) minmax(22rem,1.18fr); gap: clamp(3rem,8vw,9rem); align-items: center; }.course-capstone h2 { color: var(--uw-ink-900); }.course-capstone p { color: rgba(26,21,18,.75); }
.course-capstone ul { display: grid; gap: var(--uw-space-3); padding: var(--uw-space-5) 0 0; border-top: 1px solid rgba(26,21,18,.34); list-style: none; }.course-capstone li::before { margin-right: var(--uw-space-3); content: "✓"; font-weight: 800; }
.course-capstone__map { min-height: 31rem; display: grid; grid-template-columns: 1fr auto 1fr; gap: var(--uw-space-3); align-items: center; padding: clamp(1.5rem,4vw,3.5rem); border-radius: var(--uw-radius-lg); background: var(--uw-ink-900); color: var(--uw-white); }
.course-capstone__map > div { min-height: 6rem; display: grid; place-content: center; gap: var(--uw-space-2); padding: var(--uw-space-3); border: 1px solid rgba(255,255,255,.32); text-align: center; }.course-capstone__map > div span { color: var(--uw-amber-500); font: .65rem var(--uw-font-mono); }.course-capstone__map > div strong { font-family: var(--uw-font-display); font-size: var(--uw-text-sm); }.course-capstone__map .course-capstone__evidence { background: var(--uw-amber-500); color: var(--uw-ink-900); border: 0; }.course-capstone__map .course-capstone__evidence span { color: var(--uw-flame-800); }.course-capstone__map > p { grid-column: 1/-1; padding: var(--uw-space-4); margin: 0; border: 1px dashed var(--uw-flame-500); color: var(--uw-amber-500); font: var(--uw-text-xs) var(--uw-font-mono); letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.course-instructors { background: var(--uw-sand-50); }
.course-instructor-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--uw-space-5); margin-top: var(--uw-space-9); }.course-instructor-grid article { min-height: 30rem; display: flex; flex-direction: column; padding: var(--uw-space-5); border: 1px solid var(--uw-border); border-top: 3px solid var(--uw-flame-500); border-radius: var(--uw-radius-md); background: var(--uw-white); box-shadow: var(--uw-shadow-sm); }
.course-instructor__mark { height: 10rem; display: grid; place-items: center; margin-bottom: var(--uw-space-5); border-radius: var(--uw-radius-sm); background: linear-gradient(135deg,var(--uw-amber-200),var(--uw-amber-500)); color: var(--uw-ink-900); font: 750 3rem var(--uw-font-display); letter-spacing: -.05em; }.course-instructor-grid article:nth-child(2) .course-instructor__mark { background: linear-gradient(135deg,var(--uw-sand-100),var(--uw-ember-300)); }.course-instructor-grid article:nth-child(3) .course-instructor__mark { background: linear-gradient(135deg,var(--uw-ember-300),var(--uw-flame-500)); }
.course-instructor-grid h3 { margin: var(--uw-space-5) 0 var(--uw-space-2); }.course-instructor-grid strong { color: var(--uw-flame-700); font-size: var(--uw-text-sm); }.course-instructor-grid p { margin: auto 0 0; padding-top: var(--uw-space-6); font-size: var(--uw-text-sm); }
.course-included__layout, .course-faq__layout { display: grid; grid-template-columns: minmax(17rem,.64fr) minmax(0,1.36fr); gap: clamp(3rem,8vw,9rem); }
.course-included__grid { display: grid; grid-template-columns: 1fr 1fr; }.course-included__grid article { min-height: 15rem; padding: var(--uw-space-5); border-top: 1px solid var(--uw-ink-900); }.course-included__grid article:nth-child(odd) { padding-left: 0; border-right: 1px solid var(--uw-border); }.course-included__grid h3 { margin: var(--uw-space-8) 0 var(--uw-space-2); }.course-included__grid p { margin-bottom: 0; font-size: var(--uw-text-sm); }
.course-faq { background: var(--uw-sand-50); }.course-faq__list { border-top: 1px solid var(--uw-ink-900); }.course-faq__list details { border-bottom: 1px solid var(--uw-border); }.course-faq__list summary { min-height: 5.2rem; display: grid; grid-template-columns: 1fr 2rem; align-items: center; gap: var(--uw-space-4); list-style: none; cursor: pointer; font-family: var(--uw-font-display); font-weight: 720; }.course-faq__list summary::-webkit-details-marker { display: none; }.course-faq__list summary span { font-size: 1.5rem; transition: transform var(--uw-duration-base) var(--uw-ease); }.course-faq__list details[open] summary span { transform: rotate(45deg); }.course-faq__list p { max-width: 64ch; padding: 0 3rem var(--uw-space-5) 0; margin: 0; font-size: var(--uw-text-sm); }
.course-final-cta { padding-block: var(--uw-section); background: var(--uw-ink-900); color: var(--uw-white); text-align: center; }.course-final-cta .uw-kicker { color: var(--uw-amber-500); }.course-final-cta .uw-kicker::before { background: var(--uw-amber-500); }.course-final-cta h2 { max-width: 17ch; margin: var(--uw-space-5) auto; color: var(--uw-white); font-size: clamp(2.6rem,1.7rem + 3.6vw,6.5rem); letter-spacing: -.06em; line-height: .94; }.course-final-cta p { margin-bottom: var(--uw-space-6); color: rgba(255,255,255,.68); }

@media (max-width:70rem) {
  .course-hero__layout { grid-template-columns:minmax(0,1fr) minmax(19rem,.5fr); gap:var(--uw-space-8); }
  .course-outcome-grid { grid-template-columns:1fr 1fr; }.course-outcome-grid article:nth-child(2) { border-right:0; }
  .course-fit__layout,.course-programme__layout,.course-capstone__layout,.course-included__layout,.course-faq__layout { grid-template-columns:1fr; }.course-programme__intro { position:static; }
}
@media (max-width:52rem) {
  .course-subnav__inner { gap: var(--uw-space-3); }
  .course-subnav__back { font-size: .65rem; }
  .course-subnav__links a { padding-inline: .65rem; font-size: .72rem; }
  .course-hero { padding-block:var(--uw-space-9); }.course-hero__layout { grid-template-columns:1fr; }.course-hero h1 { font-size:clamp(3.2rem,14vw,5.5rem); }.course-facts { grid-template-columns:1fr; }
  .course-build-map { width:calc(100% - .9rem); min-height:29rem; box-shadow:.9rem .9rem 0 var(--uw-sand-200); }.course-method__items { justify-content:flex-start; }
  .course-section-intro,.course-fit__columns,.course-entry__grid,.course-instructor-grid,.course-included__grid { grid-template-columns:1fr; }.course-outcome-grid { grid-template-columns:1fr; }.course-outcome-grid article,.course-outcome-grid article:first-child { min-height:auto; padding:var(--uw-space-6) 0; border-right:0; }.course-outcome-grid h3 { margin-top:var(--uw-space-7); }
  .course-cadence ul { grid-template-columns:1fr; }.course-week-list summary { grid-template-columns:3rem minmax(0,1fr) 1.5rem; }.course-week-list summary strong { font-size:1.05rem; }.course-week-list details > div { padding-left:4rem; }.course-week-build { flex-direction:column; }
  .course-week-phase { grid-template-columns:1fr; gap:var(--uw-space-2); }.course-week-phase em { text-align:left; }
  .course-capstone__map { min-height:auto; grid-template-columns:1fr; }.course-capstone__map > i { transform:rotate(90deg); text-align:center; }.course-capstone__map > p { grid-column:1; }
  .course-instructor-grid article { min-height:27rem; }.course-included__grid article,.course-included__grid article:nth-child(odd) { padding-inline:0; border-right:0; }
}
@media (prefers-reduced-motion:reduce) { .course-build-map { transform:none; } }
