/* Course hero card: one template for every course page. Facts as one list (mark · value · one detail line), one offer block, then the CTA. */
html body .chero.chero--split{ align-items:start !important; }
html body .chero__card .chero__cardin{ gap:18px !important; }
.cfacts{ list-style:none; margin:0; padding:18px 0 0; border-top:1px solid rgba(255,255,255,.10); display:grid; gap:14px; }
.cfacts li{ display:grid; grid-template-columns:30px minmax(0,1fr); column-gap:12px; align-items:start; margin:0; padding:0; }
.cfacts li::before{ content:none !important; display:none !important; }
.cfacts__i{ width:30px; height:30px; border-radius:9px; display:grid; place-items:center; color:rgba(255,255,255,.78); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); }
.cfacts__i svg{ width:16px; height:16px; display:block; }
.cfacts__i--av{ overflow:hidden; }
.cfacts__i--av img{ width:100%; height:100%; border-radius:0; object-fit:cover; object-position:center 22%; display:block; }
.cfacts__v{ display:flex; align-items:center; gap:8px; font-size:.95rem; font-weight:600; line-height:1.3; }
.cfacts__d{ display:block; margin-top:3px; font-size:.8rem; line-height:1.45; text-wrap:pretty; }
html body main .chero__card .cfacts__v, html body main .chero__card .cfacts__v span{ color:#fff !important; }
html body main .chero__card .cfacts__d, html body main .chero__card .cfacts__d span{ color:rgba(255,255,255,.68) !important; }
html body main .chero__card .chero__buy{ gap:8px !important; padding-top:18px !important; }
.chero__price{ display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; }
.chero__offer{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 14px; margin:0; font-size:.86rem; line-height:1.4; }
html body main .chero__card .chero__offer .chero__off{ display:inline-flex !important; align-items:center; gap:8px; padding:0 !important; margin:0 !important; background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; font-family:inherit !important; font-size:inherit !important; font-weight:600 !important; letter-spacing:0 !important; text-transform:none !important; }
.chero__offer .chero__off i{ width:7px; height:7px; border-radius:50%; background:#FF00D4; flex:none; }
html body main .chero__card .chero__offer .chero__off, html body main .chero__card .chero__offer .chero__off span{ color:#FF00D4 !important; }
html body main .chero__card .chero__save{ color:rgba(255,255,255,.8) !important; }
html body main .chero__card .chero__save b{ color:#fff !important; font-weight:700; font-size:inherit !important; }
.chero__next{ margin:0; font-family:'IBM Plex Mono',monospace; font-size:.74rem; letter-spacing:.02em; }
html body main .chero__card .chero__next, html body main .chero__card .chero__next span{ color:rgba(255,255,255,.66) !important; }
.chero__next[hidden], .chero__save[hidden]{ display:none !important; }
.cfacts__d + .cfacts__d{ margin-top:1px; }
.vquote__loc[hidden], .vquote__li[hidden]{ display:none !important; }

/* buy block: next price step + countdown share one line */
.chero__when{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 14px; }
.chero__starts{ display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:.74rem; letter-spacing:.02em; }
.chero__starts::first-letter{ text-transform:uppercase; }
html body main .chero__card .chero__starts{ color:rgba(255,255,255,.86) !important; }
/* hero: member faces sit beside the curriculum link; the 4th bullet names them */
body .chero--split .phero__cta{ display:flex; align-items:center; flex-wrap:wrap; gap:14px 20px; }
.phero__cta .avatars{ margin:0; }

/* proof quotes may run to more than one paragraph */
[data-faq-proof] .vquote__q{ white-space:pre-line; }

/* folded proof quote (assets/proof-fit.js) */
.vquote.is-folded .vquote__q{ display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }
.vquote__more{ display:block; margin:10px 0 0; padding:0; border:0; background:none; font:600 .78rem/1.3 'IBM Plex Mono',monospace; letter-spacing:.04em; color:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.vquote__more:hover{ text-decoration-color:#FF00D4; }
.vquote__more:focus-visible{ outline:2px solid #3B06D4; outline-offset:2px; }
.vquote__more[hidden]{ display:none !important; }

/* Who it is for: the line around the active track card (assets/role-cycle.js) */
@property --awp{ syntax:'<angle>'; inherits:false; initial-value:0deg; }
.awroles .awrole::before{ content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px; pointer-events:none; opacity:0; --awp:360deg;
  background:conic-gradient(from 0deg, var(--ac,#4CF3FE) var(--awp), transparent 0);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
.awroles .awrole[aria-selected="true"]::before{ opacity:1; }
.awroles.is-cycling .awrole[aria-selected="true"]::before{ animation:awcycle 8s linear forwards; }
.awroles.is-paused .awrole[aria-selected="true"]::before, .awroles.is-offscreen .awrole[aria-selected="true"]::before{ animation-play-state:paused; }
@keyframes awcycle{ from{ --awp:0deg; } to{ --awp:360deg; } }

/* Still deciding: the decision card. Apply Now leads; Talk to our Team catches the rest. */
.tge--dec{ align-items:center; }
.tdec .chero__cardin{ display:flex; flex-direction:column; gap:16px; }
.tdec__when{ margin:0; display:flex; flex-direction:column; gap:3px; }
html body main .tdec .tdec__when b{ font-size:1.05rem; font-weight:600; color:#fff !important; }
html body main .tdec .tdec__when > span{ font-family:'IBM Plex Mono',monospace; font-size:.74rem; letter-spacing:.02em; color:rgba(255,255,255,.76) !important; }
.tdec__acts{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.tdec__acts .btn{ width:100%; justify-content:center; }
.tdec__foot{ margin:0; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 14px; }
html body main .tdec .tdec__foot > span:last-child{ font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.02em; color:rgba(255,255,255,.76) !important; }
@media (max-width:480px){ .tdec__acts{ grid-template-columns:1fr; } }

/* mobile pass — phone layout fixes shared by every course page */
@media (max-width:900px){
  html body .chero > *{ min-width:0; }
}
@media (max-width:760px){
  html body .chero{ grid-template-columns:minmax(0,1fr) !important; }
}
@media (max-width:720px){
  html body .cmp tbody tr{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:14px; padding:14px !important; }
  html body .cmp tbody .cmp__row{ grid-column:1 / -1; width:auto !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; }
  html body .cmp tbody td.is-us{ padding:0 14px 0 0 !important; margin:0 !important; border-bottom:0 !important; border-right:1px dashed rgba(255,255,255,.16) !important; }
  html body:not(.gtm-dark) .cmp tbody td.is-us{ border-right-color:rgba(0,0,0,.16) !important; }
  html body .cmp tbody td[data-col]{ font-size:.88rem !important; }
  html body :is(.cstage__arw,.gwall__arrow,.room__btn){ width:44px !important; height:44px !important; }
  html body :is(.cstage__mswb,.cohtoggle__b){ min-height:44px !important; }
  html body .vquote__li{ position:relative; }
  html body .vquote__li::after{ content:""; position:absolute; inset:-9px; }
}
@media (max-width:560px){
  html body .cpage-hero .ovpill__in{ white-space:normal; line-height:1.5; letter-spacing:.1em; padding:7px 12px; }
  html body :is(.ovpill__in,.chero__k,.chero__next,.chero__starts,.cohc__refund,.logos-strip__label,.ybecome,.awk,.vquote__country,.cjour__count,.cstage__ty,.cstage__meta,.ip3-k,.cstage__ct,.cstage__mswb,.ip3-lvl em,.vquote__t,.vquote__t span){ font-size:.75rem !important; }
}
@media (max-width:560px){
  html body .cstage__rail{ grid-auto-columns:158px !important; }
  html body .cstage__ty{ white-space:nowrap; }
}
/* cohort buttons, 3-up */
@media (min-width:840px) and (max-width:1100px){
  html body .cohc .btn{ white-space:normal !important; text-align:center; justify-content:center; padding-left:14px !important; padding-right:14px !important; font-size:.92rem !important; line-height:1.25; height:auto !important; min-height:44px; overflow:visible !important; }
}
/* who: swipe row on phones */
@media (max-width:719px){
  html body #who .awroles:not(.awroles--pills){ display:flex !important; grid-template-columns:none !important; overflow-x:auto !important; overflow-y:hidden !important; scroll-snap-type:x mandatory; scrollbar-width:none; gap:12px !important; padding:4px 2px 12px; }
  html body #who .awroles:not(.awroles--pills)::-webkit-scrollbar{ display:none; }
  html body #who .awroles:not(.awroles--pills) .awrole{ flex:0 0 min(82%,320px); scroll-snap-align:start; }
}
/* role pills (Academy colours: cyan tint, white text; the cycling ring shows which role is on) */
html body #who .awroles--pills{ display:flex !important; flex-wrap:wrap !important; gap:8px !important; overflow:visible !important; padding:0 !important; scroll-snap-type:none !important; }
html body #who .awroles--pills .awrole{ flex:0 0 auto !important; display:inline-flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important; width:auto !important; min-height:44px; padding:0 20px !important; border-radius:999px !important; background:transparent !important; box-shadow:inset 0 0 0 1px rgba(255,255,255,.2) !important; transform:none !important; }
html body #who .awroles--pills .awrole b{ font-family:'IBM Plex Mono',monospace; font-size:.84rem; font-weight:500; letter-spacing:.02em; line-height:1; color:#D1D1D9; white-space:nowrap; }
html body #who .awroles--pills .awrole:hover{ box-shadow:inset 0 0 0 1px rgba(255,255,255,.38) !important; }
html body #who .awroles--pills .awrole:hover b{ color:#fff; }
html body #who .awroles--pills .awrole[aria-selected="true"]{ background:color-mix(in oklab,var(--ac,#4CF3FE) 16%,transparent) !important; box-shadow:none !important; }
html body #who .awroles--pills .awrole[aria-selected="true"] b{ color:#fff; font-weight:600; }
html body #who .awroles--pills .awrole::after{ display:none !important; }
html body #who .awrp__lead{ grid-column:1 / -1; display:grid; gap:10px; margin:6px 0 4px; max-width:72ch; }
html body #who .awrp__fit{ margin:0; color:rgba(255,255,255,.72); font-size:.95rem; line-height:1.5; }
html body #who .awrp__become{ margin:0; color:#fff; font-size:clamp(1.1rem,1rem + .5vw,1.4rem); font-weight:600; line-height:1.3; letter-spacing:-.01em; text-wrap:pretty; }
html body #who .awrp__become .awk{ margin-bottom:6px; }
@media (max-width:560px){ html body #who .awroles--pills .awrole{ padding:0 13px !important; } html body #who .awroles--pills .awrole b{ font-size:.75rem; letter-spacing:0; } }
/* question click effect: the + turns into × (Academy colours kept) */
html body .faq summary::after{ transition:transform .25s cubic-bezier(.16,1,.3,1), background .2s ease, color .2s ease !important; }
html body .faq details[open] summary::after{ content:"+" !important; transform:rotate(45deg) !important; }
html body .cstage__mswb[aria-selected="true"]{ background:rgba(76,243,254,.16) !important; border-color:#4CF3FE !important; color:#fff !important; }
