/* Semantic diagrams adapted from the program presentation. */
.program-visual{margin-block:1.5rem;min-width:0}
.program-visual figure{margin:1rem 0 0}
.program-visual figcaption{margin-top:.75rem;font-size:.8125rem;line-height:1.65;color:var(--muted)}
.program-visual .eyebrow{margin-bottom:.75rem}
.learning-content .program-visual .program-phase-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;list-style:none;padding:0;margin:0}
.program-phase-path>li{position:relative;min-width:0;margin:0}
.program-phase-path>li:not(:last-child)::after{content:"";position:absolute;top:2.2rem;left:100%;width:.65rem;border-top:2px solid var(--accent)}
.program-phase-path a{display:flex;flex-direction:column;align-items:flex-start;height:100%;padding:1rem .85rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;text-decoration:none}
.program-phase-path a[aria-current="step"]{background:var(--soft);border-color:var(--accent)}
.program-phase-path a[aria-current="step"] .program-phase-number{background:var(--accent);color:var(--paper)}
.program-phase-path a:hover{background:var(--soft);border-color:var(--accent)}
.program-phase-path a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.program-phase-number{display:grid;place-items:center;width:2.4rem;height:2.4rem;margin-bottom:.75rem;border-radius:50%;background:var(--soft);color:var(--accent);font-size:1.1rem;font-weight:650}
.program-phase-label{font-size:.6875rem;line-height:1.6;color:var(--muted);margin-bottom:.4rem}
.program-visual .program-phase-path h3{font-size:1rem;line-height:1.35;margin:0 0 .65rem}
.program-visual .program-phase-path p{font-size:.8125rem;line-height:1.6;margin:0 0 .75rem}
.program-phase-link{margin-top:auto;color:var(--accent);font-size:.75rem;font-weight:600}
.program-pods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.program-pod{min-width:0;padding:1.1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.program-visual .program-pod h3{display:flex;align-items:center;gap:.65rem;margin:0 0 1rem;font-size:1.1rem}
.program-pod-dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--accent)}
.program-pod dl{margin:0}
.program-role{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:center;padding:.6rem 0;border-top:1px solid var(--line)}
.program-role dt{display:flex;align-items:center;gap:.75rem;font-size:.875rem;line-height:1.45}
.program-role-people{display:flex;flex-shrink:0;width:3rem;gap:.15rem;color:var(--accent)}
.program-role-people svg{display:block;width:1.35rem;height:1.6rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.program-role dd{margin:0;text-align:right}
.program-role dd strong{font-size:1.3rem;line-height:1.2;font-weight:650}
.program-role dd span{display:block;max-width:8ch;font-size:.6875rem;line-height:1.4;color:var(--muted);margin-top:.2rem}
.program-shared-support{position:relative;margin-top:1rem;padding:1rem;background:var(--soft);border:1px solid var(--line);border-radius:10px}
.program-shared-support::before,.program-shared-support::after{content:"";position:absolute;bottom:100%;height:1rem;border-left:2px solid var(--accent)}
.program-shared-support::before{left:25%}.program-shared-support::after{left:75%}
.program-visual .program-support-label{font-size:.75rem;color:var(--muted);margin:0 0 .85rem}
.program-shared-support>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.program-shared-support strong{display:block;font-size:.9375rem}
.program-shared-support small{display:block;font-size:.8125rem;line-height:1.5;color:var(--muted);margin-top:.25rem}
@media(max-width:1100px){
.learning-content .program-visual .program-phase-path{grid-template-columns:minmax(0,1fr);gap:.85rem}
.program-phase-path>li:not(:last-child)::after{top:100%;left:2.2rem;width:0;height:.85rem;border-top:0;border-left:2px solid var(--accent)}
.program-phase-path a{padding:1rem 1.1rem;display:grid;grid-template-columns:2.4rem minmax(0,1fr);column-gap:1rem}
.program-phase-number{grid-column:1;grid-row:1 / span 4;margin:0}
.program-phase-label,.program-visual .program-phase-path h3,.program-visual .program-phase-path p,.program-phase-link{grid-column:2}
.program-visual .program-phase-path p{margin-bottom:.65rem}
.program-pods{grid-template-columns:minmax(0,1fr);gap:1rem}
.program-shared-support::before,.program-shared-support::after{display:none}
.program-shared-support{margin-top:1rem}
}
@media(max-width:380px){.program-pod{padding:1rem}.program-role dt{gap:.4rem}.program-role-people{width:2.7rem}.program-shared-support>div{grid-template-columns:minmax(0,1fr);gap:1rem}}
@media print{.program-phase-path a,.program-pod,.program-shared-support{break-inside:avoid}.program-phase-link{display:none}.program-visual figcaption{color:inherit}}
