/* Nolvos project timeline. Native scrolling drives a continuous central rail;
   the full, readable timeline is the fallback before JavaScript or without it. */
.np-process{
  --np-process-gap:28px;
  --np-process-track-width:18px;
  --np-process-accent:#8eb7ff;
  --np-process-ink:#f2f6ff;
  --np-process-copy:#bdcce1;
  position:relative;
  width:100%;
  min-width:0;
  isolation:isolate;
}
.np-process :where(div,ol,li,article,span,h3,p,strong){min-width:0;box-sizing:border-box}
.np-process-list{position:relative;z-index:1;list-style:none!important;margin:0;padding:0!important}
.np-process-step{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);
  align-items:center;
  column-gap:var(--np-process-gap);
  min-height:226px;
  margin:0 0 25px;
  padding:0!important;
}
.np-process-step:last-child{margin-bottom:0}
.np-process-card{
  position:relative;
  grid-column:1;
  grid-row:1;
  justify-self:end;
  width:100%;
  max-width:536px;
  padding:23px 26px 25px;
  border:1px solid #48638b88;
  border-radius:22px;
  background:linear-gradient(135deg,#1d3555cc,#102038e6);
  color:var(--np-process-ink);
  box-shadow:inset 0 1px 0 #d9e9ff0a;
  scroll-margin-top:20px;
  transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease;
}
.np-process-step:nth-child(even) .np-process-card{grid-column:3;justify-self:start}
.np-process-card::before{
  content:'';
  position:absolute;
  top:50%;
  right:calc(-1 * (var(--np-process-gap) + 48px));
  width:calc(var(--np-process-gap) + 48px);
  height:1px;
  background:linear-gradient(90deg,#496fa0,#6296ee);
  pointer-events:none;
  z-index:-1;
}
.np-process-step:nth-child(even) .np-process-card::before{right:auto;left:calc(-1 * (var(--np-process-gap) + 48px));background:linear-gradient(90deg,#6296ee,#496fa0)}
.np-process-card-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.np-process-number{display:block;color:#a1c4ff;font-family:inherit;font-size:48px;font-weight:400;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.np-process-art{width:106px;height:62px;flex:none;color:#a4c6f6}
.np-process-art>svg{display:block;width:100%;height:100%}
.np-process-art :is(rect,circle){fill:#426ba51c}
.np-process-card h3{margin:0 0 13px;font:inherit;font-size:25px;font-weight:500;line-height:1.22;letter-spacing:-.025em;color:#f2f6ff;overflow-wrap:break-word}
.np-process-description{transform:none;opacity:1}
.np-process-description>p{margin:0;color:var(--np-process-copy);font-size:16px;line-height:1.65;letter-spacing:0;text-wrap:pretty}
.np-process-result{margin-top:19px;padding-top:15px;border-top:1px solid #819cc640}
.np-process-result>span{display:block;margin-bottom:7px;color:#8facd4;font-size:9px;line-height:1.5;letter-spacing:.07em}
.np-process-result>strong{display:block;color:#d4e4fb;font-size:13px;font-weight:400;line-height:1.6}
.np-process-alias{position:absolute;top:0;left:0;scroll-margin-top:20px}
.np-process-node{
  position:relative;
  grid-column:2;
  grid-row:1;
  justify-self:center;
  z-index:3;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:2px solid #5578ad;
  border-radius:50%;
  background:#102443;
  box-shadow:0 0 0 7px #12223a;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.np-process-node>i{display:block;width:10px;height:10px;border-radius:50%;background:#6e96d8}
.np-process-track{
  position:absolute;
  z-index:0;
  left:50%;
  top:var(--np-process-track-top,76px);
  width:var(--np-process-track-width);
  height:var(--np-process-track-height,calc(100% - 152px));
  translate:-50% 0;
  border:1px solid #608ade66;
  border-radius:999px;
  background:linear-gradient(90deg,#152d56,#274a87,#152d56);
  box-shadow:0 0 28px #367bff1c,inset 0 0 5px #0003;
  overflow:hidden;
  pointer-events:none;
}
.np-process-fill{position:absolute;inset:0;transform:scaleY(var(--np-process-progress,1));transform-origin:50% 0;background:linear-gradient(180deg,#b9d9ff 0,#6495ff 22%,#3159e8 72%,#416efa);border-radius:inherit;box-shadow:inset 2px 0 2px #dbedff7a,inset -2px 0 3px #2243bd55}
.np-process-glow{display:none;position:absolute;left:0;top:-26px;width:100%;height:52px;border-radius:50%;background:radial-gradient(ellipse,#eff9ff 0,#acd5ff 25%,#71a5ff55 57%,transparent 78%);translate:0 var(--np-process-head-y,0px);pointer-events:none}
.np-process.is-process-enhanced .np-process-glow{display:block}
.np-process.is-process-enhanced .np-process-description{opacity:calc(.76 + .24 * var(--np-process-step-progress,1));translate:0 calc((1 - var(--np-process-step-progress,1)) * 10px)}
.np-process.is-process-enhanced .np-process-art path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--np-process-step-progress,1))}
.np-process-step.is-process-complete .np-process-node{background:#3159e8;border-color:#8bb8ff}
.np-process-step.is-process-complete .np-process-node>i{background:#d0e6ff}
.np-process-step.is-process-active .np-process-node{background:#557ff2;border-color:#d0e7ff;box-shadow:0 0 0 7px #183767,0 0 26px #5a93ff80}
.np-process-step.is-process-active .np-process-node>i{background:#fff}
.np-process-step.is-process-active .np-process-card{border-color:#87b4fa;background:linear-gradient(135deg,#234268,#132b48);box-shadow:inset 0 1px 0 #dbeaff1a,0 16px 45px #0002}
.np-process-step.is-process-active .np-process-number{color:#d4e7ff}
.np-process[data-process-variant="detail"] .np-process-step{min-height:262px;margin-bottom:28px}
.np-process[data-process-variant="detail"] .np-process-card{padding:26px 28px}
@media(max-width:1100px){
 .np-process{--np-process-gap:18px}
 .np-process-step{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)}
 .np-process-card::before{right:calc(-1 * (var(--np-process-gap) + 36px));width:calc(var(--np-process-gap) + 36px)}
 .np-process-step:nth-child(even) .np-process-card::before{left:calc(-1 * (var(--np-process-gap) + 36px))}
 .np-process-card{padding:22px}.np-process-card h3{font-size:23px}.np-process-description>p{font-size:15px}
}
@media(max-width:760px){
 .np-process{--np-process-gap:20px;--np-process-track-width:14px}
 .np-process-step,.np-process[data-process-variant="detail"] .np-process-step{grid-template-columns:44px minmax(0,1fr);min-height:0;column-gap:20px;margin-bottom:23px}
 .np-process-track{left:22px}
 .np-process-node{grid-column:1;width:29px;height:29px;box-shadow:0 0 0 5px #12223a}
 .np-process-node>i{width:8px;height:8px}
 .np-process-card,.np-process-step:nth-child(even) .np-process-card{grid-column:2;justify-self:stretch;max-width:none;padding:22px}
 .np-process-card::before,.np-process-step:nth-child(even) .np-process-card::before{right:auto;left:-42px;width:42px;background:linear-gradient(90deg,#6296ee,#496fa0)}
 .np-process-number{font-size:42px}.np-process-art{width:98px;height:57px}.np-process-card h3{font-size:24px}
 .np-process[data-process-variant="detail"] .np-process-card{padding:24px}
}
@media(max-width:430px){
 .np-process-step,.np-process[data-process-variant="detail"] .np-process-step{grid-template-columns:32px minmax(0,1fr);column-gap:14px;margin-bottom:20px}
 .np-process-track{left:16px;width:14px}.np-process-node{width:25px;height:25px;border-width:1px}
 .np-process-card,.np-process[data-process-variant="detail"] .np-process-card{padding:19px 17px;border-radius:18px}
 .np-process-card::before,.np-process-step:nth-child(even) .np-process-card::before{left:-30px;width:30px}
 .np-process-card-top{gap:12px;margin-bottom:13px}.np-process-number{font-size:38px}.np-process-art{width:82px;height:48px}
 .np-process-card h3{font-size:21px}.np-process-description>p{font-size:14px;line-height:1.65}.np-process-result>strong{font-size:12px}
 .np-process-step.is-process-active .np-process-node{box-shadow:0 0 0 4px #183767,0 0 20px #5a93ff66}
}
.np-process.is-process-suspended :is(.np-process-card,.np-process-node){transition:none}
html.motion-paused .np-process-description{opacity:1!important;translate:none!important}
html.motion-paused .np-process-fill{transform:scaleY(1)!important}
html.motion-paused .np-process-glow{display:none!important}
html.motion-paused .np-process-art path{stroke-dashoffset:0!important}
@media(prefers-reduced-motion:reduce){
 .np-process :is(.np-process-card,.np-process-node){transition:none}
 .np-process .np-process-description{opacity:1!important;translate:none!important}
 .np-process .np-process-fill{transform:scaleY(1)!important}
 .np-process .np-process-glow{display:none!important}
 .np-process .np-process-art path{stroke-dashoffset:0!important}
}

/* Method anchors keep their headings clear of the returning Studio header. */
.np-method-page .np-process :is(.np-process-card,.np-process-alias){scroll-margin-top:112px}
@media(max-width:760px){.np-method-page .np-process :is(.np-process-card,.np-process-alias){scroll-margin-top:96px}}
