/* Scoped process component: headings stay in flow and the circle gets its own scroll space. */
.ncp-experience{
 --ncp-progress:0;--ncp-turn:0deg;--ncp-phase-color:#d9ef97;--ncp-sticky-top:150px;
 --ncp-available-height:calc(100svh - 170px);--ncp-art-height:520px;
 position:relative;isolation:isolate;margin:40px 0 32px;padding:32px 36px;
 border:1px solid #537d5f;border-radius:30px;color:#f1f6e8;
 background:radial-gradient(ellipse at 24% 25%,#35634b 0,transparent 50%),linear-gradient(125deg,#183f32,#0d2922);
 box-shadow:inset 0 1px #d5efb83b,0 22px 45px #193d2420;
}
.ncp-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;margin:0 0 28px;padding:0 0 26px;border-bottom:1px solid #cae5be2e}
.ncp-eyebrow{margin:0 0 12px;color:#bdd2af;font:600 .75rem/1.5 'DM Sans',sans-serif;letter-spacing:.15em}
.pathway-section .ncp-heading h3{margin:0;color:#f1f6e8;font:400 clamp(1.65rem,2.65vw,2.6rem)/1.25 'Manrope',sans-serif;letter-spacing:-.035em}
.ncp-heading h3 em{color:#d9ef97;font-family:Georgia,serif;font-size:1.1em;font-weight:400;letter-spacing:-.025em}
.ncp-intro{margin:0;font-size:.9375rem;line-height:1.65;color:#c5d8bd;flex-shrink:0}
.ncp-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:36px}
.ncp-scroll-track{position:relative;min-width:0}
.ncp-enhanced .ncp-scroll-track{height:calc(var(--ncp-art-height) + clamp(380px,75svh,720px))}
.ncp-art{position:sticky;top:var(--ncp-sticky-top);width:100%;margin:0 auto;max-width:450px}
.ncp-orbit-scene{position:relative;isolation:isolate;width:min(100%,calc(var(--ncp-available-height) - 112px));aspect-ratio:1;margin:0 auto}
.ncp-orbit-halo{position:absolute;inset:4%;border-radius:50%;background:conic-gradient(from -45deg,#d9ef9710,#f7b78c17,#80d5c90d,#c6b2ec17,#d9ef9710);border:1px solid #cde8b714}
.ncp-orbits{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
.ncp-orbit-track{stroke:#c2dab930;stroke-width:1.2}
.ncp-orbit-inner{stroke:#c2dab91c;stroke-width:.8;stroke-dasharray:2 10}
.ncp-orbit-progress{stroke:var(--ncp-phase-color);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--ncp-progress));transition:stroke .35s}
.ncp-orbit-spark{position:absolute;inset:14%;border-radius:50%;transform:rotate(var(--ncp-turn));pointer-events:none}
.ncp-orbit-spark>span{position:absolute;left:50%;top:0;width:7px;height:7px;border-radius:50%;background:var(--ncp-phase-color);transform:translate(-50%,-50%);box-shadow:0 0 0 5px #d5ebb615}
.ncp-person{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:43%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e1f6bd7a;background:radial-gradient(circle at 32% 20%,#abc88b,#618361 56%,#294f3e);box-shadow:inset 0 2px 4px #e4f6c769,inset 0 -10px 22px #143e3d5c,0 20px 35px #071d194f;color:#f5f9e9}
.ncp-person-icon{width:21%;height:21%;margin-bottom:2px;opacity:.95}
.ncp-person>strong{font:italic 400 clamp(2.3rem,4.3vw,4rem)/1.1 Georgia,serif;letter-spacing:-.055em}
.ncp-person>span{font-size:.625rem;letter-spacing:.14em;line-height:1.5;margin-top:6px}
.ncp-node{position:absolute;display:grid;place-items:center;width:16%;aspect-ratio:1;border:1px solid var(--step-color);border-radius:24%;color:var(--step-color);background:#173d31;box-shadow:inset 0 1px #ffffff26,0 9px 20px #031c2238;transform:translate(-50%,-50%) scale(.9);transition:background .35s,color .35s,transform .4s,box-shadow .4s}
.ncp-node .ui-icon{width:43%;height:43%;stroke-width:1.5}
.ncp-node[data-ncp-node="0"]{--step-color:#d9ef97;left:50%;top:14%}
.ncp-node[data-ncp-node="1"]{--step-color:#f7b78c;left:86%;top:50%}
.ncp-node[data-ncp-node="2"]{--step-color:#80d5c9;left:50%;top:86%}
.ncp-node[data-ncp-node="3"]{--step-color:#c6b2ec;left:14%;top:50%}
.ncp-node.is-active{background:var(--step-color);color:#18372c;transform:translate(-50%,-50%) scale(1.06);box-shadow:0 0 0 6px #dbeec312,0 12px 24px #061e254f}
.ncp-art-caption{min-height:104px;padding:16px 10px 8px;text-align:center}
.ncp-caption{margin:0 0 10px;font-size:.9375rem;line-height:1.55;color:#d5e3cd}
.ncp-caption[hidden]{display:none}
.ncp-caption>strong{display:block;font-size:.9375rem;line-height:1.5;color:var(--ncp-phase-color);margin-bottom:6px;font-weight:500}
.ncp-caption>span{display:block}
.ncp-enhanced .ncp-caption:not([hidden]){animation:ncp-copy-in .3s ease both}
.ncp-controls{position:sticky;top:var(--ncp-controls-top,var(--ncp-sticky-top));min-width:0;padding:0}
.ncp-stages{display:grid;gap:12px}
.ncp-step{--step-color:#d9ef97;min-width:0;align-self:start;border:1px solid #c0dcb139;border-radius:17px;background:#a2c59608;box-shadow:inset 0 1px #e1efcc08;transition:background .35s,border-color .35s}
.ncp-step[data-ncp-item="1"]{--step-color:#f7b78c}.ncp-step[data-ncp-item="2"]{--step-color:#80d5c9}.ncp-step[data-ncp-item="3"]{--step-color:#c6b2ec}
.ncp-step:has(.ncp-stage-button[aria-pressed="true"]),.ncp-step.is-open{border-color:var(--step-color);background:#d4e8c110}
.ncp-stage-button{position:relative;display:flex;align-items:center;gap:13px;width:100%;min-width:0;min-height:73px;margin:0;padding:14px 16px;text-align:left;border:0;border-radius:16px;background:none;color:#eff5e8;font:inherit;cursor:pointer;transition:background .25s}
.ncp-stage-button:hover{background:#d4e8c10a}
.ncp-stage-button:focus-visible{outline:2px solid var(--step-color);outline-offset:4px}
.ncp-button-icon{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;color:var(--step-color);border-radius:11px;border:1px solid #c2dbb22b;background:#cce9be0b}
.ncp-button-icon .ui-icon{width:23px;height:23px;stroke-width:1.5}
.ncp-button-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.ncp-button-text>strong{font:500 1.0625rem/1.35 'Manrope',sans-serif;color:var(--step-color);letter-spacing:-.015em}
.ncp-button-text>span{font-size:.875rem;line-height:1.45;color:#c6d6be}
.ncp-expand-mark{display:flex;flex-direction:column;justify-content:center;gap:4px;margin-left:auto;flex:0 0 22px;width:22px;height:24px;color:var(--step-color)}
.ncp-expand-mark>span{display:block;width:13px;height:1px;background:currentColor;transition:transform .35s,opacity .35s}
.ncp-step.is-open .ncp-expand-mark>span:first-child{transform:translateY(2.5px)}
.ncp-step.is-open .ncp-expand-mark>span:last-child{opacity:0;transform:translateY(-2.5px)}
.ncp-step-panel{display:grid;grid-template-rows:1fr;visibility:visible}
.ncp-step-panel-inner{min-height:0;overflow:hidden}
.ncp-enhanced .ncp-step-panel{grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .4s cubic-bezier(.2,.7,.3,1),visibility .4s}
.ncp-enhanced .ncp-step.is-open .ncp-step-panel{grid-template-rows:1fr;visibility:visible}
.ncp-step-content{padding:3px 19px 18px}
.ncp-detail-heading{margin:0 0 11px;padding-top:15px;border-top:1px solid #c5dfb32b;font-size:.75rem;font-weight:500;letter-spacing:.025em;color:var(--step-color)}
.ncp-step-content ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ncp-step-content li{display:flex;align-items:flex-start;gap:10px;padding:0;margin:0;font-size:.875rem;line-height:1.6;color:#e0e9d9}
.ncp-step-content li>.ui-icon{width:17px;height:17px;flex:0 0 17px;margin-top:3px;color:var(--step-color);stroke-width:1.6}
.ncp-detail-outcome{margin-top:15px;padding-top:13px;border-top:1px solid #c5dfb322}
.ncp-detail-outcome p{margin:0 0 11px;font-size:.875rem;line-height:1.6;color:#c2d4b8}
.ncp-detail-link{display:inline-flex;align-items:center;gap:9px;min-height:36px;font-size:.8125rem;color:var(--step-color);border-bottom:1px solid #c2d4b842}
.ncp-detail-link .ui-icon{width:17px;height:17px}
.ncp-detail-link:focus-visible{outline:2px solid var(--step-color);outline-offset:4px}
.ncp-experience[data-active="1"]{--ncp-phase-color:#f7b78c}.ncp-experience[data-active="2"]{--ncp-phase-color:#80d5c9}.ncp-experience[data-active="3"]{--ncp-phase-color:#c6b2ec}
.ncp-seen .ncp-person{animation:ncp-core-in .7s cubic-bezier(.2,.8,.3,1) both}
@keyframes ncp-core-in{from{opacity:0;transform:translate(-50%,-50%) scale(.88)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes ncp-copy-in{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@media(max-width:1100px){
 .ncp-experience{padding:28px 26px}.ncp-layout{gap:24px}
 .ncp-heading{gap:20px}.ncp-intro{font-size:.875rem}
 .ncp-heading h3 em{display:block}
 .ncp-stage-button{padding:13px 14px;gap:11px}.ncp-button-text>strong{font-size:1rem}
}
@media(max-width:899px){
 .ncp-experience{margin:30px 0;padding:24px 20px;border-radius:24px}
 .ncp-heading{display:block;padding:0 0 21px;margin:0 0 18px}
 .pathway-section .ncp-heading h3{font-size:clamp(1.55rem,5.8vw,2rem)}
 .ncp-heading h3 em{display:inline}
 .ncp-intro{margin-top:12px;font-size:.875rem;line-height:1.6}.ncp-intro br{display:none}
 .ncp-layout{grid-template-columns:minmax(0,1fr);gap:22px}
 .ncp-art{max-width:360px}
 .ncp-orbit-scene{width:min(100%,310px,calc(var(--ncp-available-height) - 126px))}
 .ncp-person>strong{font-size:2.7rem}.ncp-person>span{font-size:.5625rem}
 .ncp-art-caption{min-height:118px;padding:16px 4px 10px}
 .ncp-caption{font-size:.875rem;line-height:1.6}.ncp-caption>strong{font-size:.9375rem}
 .ncp-controls{position:relative;top:auto;padding-top:20px;border-top:1px solid #cae5be2e}
 .ncp-stages{grid-template-columns:minmax(0,1fr);gap:10px}
 .ncp-stage-button{min-height:76px;padding:15px 14px}
 .ncp-step-content{padding:3px 16px 18px}
 .ncp-step-content li{font-size:.9375rem}
}
@media(max-width:380px){
 .ncp-experience{padding:22px 14px}.ncp-stage-button{padding:13px 11px;gap:9px}
 .ncp-person>strong{font-size:2.3rem}.ncp-button-icon{width:31px;height:31px;flex-basis:31px}
 .ncp-button-text>strong{font-size:.9375rem}.ncp-button-text>span{font-size:.8125rem}
 .ncp-expand-mark{flex-basis:16px}
}
@media(prefers-reduced-motion:reduce),(max-height:480px){
 .ncp-enhanced .ncp-scroll-track{height:auto}
 .ncp-art,.ncp-controls{position:relative;top:auto}
 .ncp-orbit-scene{width:min(100%,310px)}
 .ncp-orbit-progress{stroke-dashoffset:0}
 .ncp-orbit-spark{transform:none}
 .ncp-experience *{animation:none!important;transition:none!important}
}
