/* Spatial journey: faceted glass milestones and a continuous curved route. */
.home-process-kicker{display:flex;align-items:center;gap:20px;margin-bottom:24px;color:#536e5b}
.home-process-kicker>span{font-size:11px;letter-spacing:.04em}
:is(.home-page,.service-page) .home-process .home-process-kicker .nexo-eyebrow{margin:0}
:is(.home-page,.service-page) .home-process.home-section{padding:64px 0 58px;isolation:isolate;background:linear-gradient(180deg,#eaf0e7 0,var(--paper) 150px)}
.home-story:has(+:is(.home-page,.service-page) .home-process)+:is(.home-page,.service-page) .home-process{padding-top:64px}
:is(.home-page,.service-page) .home-process:before{content:"";position:absolute;top:0;left:50%;height:34px;width:1px;background:linear-gradient(#547b60b3,transparent)}
:is(.home-page,.service-page) .home-process .home-process-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.13fr);gap:90px;align-items:start}
.home-process-overview{min-width:0}
:is(.home-page,.service-page) .home-process .nexo-eyebrow{color:#536e5b;font-size:10px;letter-spacing:.2em;margin-bottom:24px}
:is(.home-page,.service-page) .home-process .nexo-title{font-size:clamp(38px,3.65vw,56px);line-height:1.04;letter-spacing:-.055em;margin:0;text-wrap:balance}
:is(.home-page,.service-page) .home-process .nexo-title span{display:block}
.home-process-scene{position:relative;margin:20px 0 0;isolation:isolate}
:is(.home-page,.service-page) .home-process .home-process-art{position:relative;z-index:1;height:350px;width:100%;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
:is(.home-page,.service-page) .home-process .home-process-art img{width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 16px 14px #29442b12)}
.home-process-scene-line{position:absolute;bottom:0;left:4%;right:4%;height:1px;background:linear-gradient(90deg,transparent,#8aa99270,transparent)}
.home-process-journey{min-width:0;padding-top:3px}
:is(.home-page,.service-page) .home-process .home-process-intro .nexo-lead{font-size:15px;line-height:1.75;color:#5a6a5e;max-width:510px;margin:0 0 24px}
.nexo-process-route{--route-offset:64px;--route-node:64px;--route-gap:20px;position:relative;isolation:isolate;width:100%;max-width:720px;padding:8px 0}
.nexo-steps.nexo-process-track{
  display:flow-root;position:relative;isolation:isolate;list-style:none;
  width:100%;max-width:720px;margin:0;padding:0;counter-reset:none;border:0;
}
.nexo-steps.nexo-process-track--linked{margin-bottom:var(--route-gap)}
.nexo-process-track>.nexo-process-step{
  position:relative;display:grid;grid-template-columns:var(--route-node) minmax(0,1fr);
  align-items:start;column-gap:26px;min-width:0;min-height:86px;
  margin:0 0 var(--route-gap);padding:0;border:0;counter-increment:none;
}
.nexo-process-track>.nexo-process-step:nth-child(even){margin-left:var(--route-offset)}
.nexo-process-track>.nexo-process-step:last-child{margin-bottom:0}
.nexo-process-track>.nexo-process-step:before,.nexo-process-track>.nexo-process-step:after{display:none;content:none}
.nexo-process-connector{
  position:absolute;z-index:-1;pointer-events:none;
  left:calc(var(--route-node) / 2);top:calc(var(--route-node) / 2);
  bottom:calc(-1 * (var(--route-gap) + var(--route-node) / 2));
  width:var(--route-offset);height:calc(100% + var(--route-gap));overflow:visible;
}
.nexo-process-step:nth-child(even)>.nexo-process-connector{left:calc(var(--route-node) / 2 - var(--route-offset));transform:scaleX(-1)}
.nexo-process-connector path{stroke:#98b59f;stroke-width:1.2;stroke-dasharray:2 5;stroke-linecap:round;transition:stroke .35s ease,stroke-width .35s ease}
.nexo-process-node{
  position:relative;isolation:isolate;display:grid;place-items:center;
  width:var(--route-node);height:var(--route-node);border-radius:12px;
  border:1px solid #93b99e;background:linear-gradient(135deg,#fafff9 0%,#d5e9d8 35%,#acd0ba 62%,#edf7e9 100%);
  color:#164e35;font-size:27px;font-weight:500;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums;
  box-shadow:inset 2px 2px 2px #ffffffd9,inset -3px -3px 5px #527f6640,7px 10px 18px -10px #31583d66;
  transform:perspective(400px) rotateY(-12deg) rotateZ(-8deg);
  transition:transform .45s cubic-bezier(.2,.7,.3,1),color .3s,border-color .3s,box-shadow .4s;
}
.nexo-process-node:before{content:"";position:absolute;inset:5px;border:1px solid #ffffff91;border-radius:8px;pointer-events:none;z-index:1}
.nexo-process-node:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#107c51,#053d2d 65%,#367b55);opacity:0;z-index:-1;transition:opacity .4s}
.nexo-process-node>span{display:block;transform:rotate(8deg);transition:transform .45s}
.nexo-process-card{
  display:grid;grid-template-columns:minmax(0,1fr) 32px;column-gap:18px;row-gap:11px;
  align-items:start;min-width:0;padding:6px 0 0;margin:0;border:0;background:none;height:auto;min-height:0;
}
.nexo-process-track .nexo-process-card h3,:is(.home-page,.service-page) .home-process .nexo-process-track h3{grid-column:1;grid-row:1;margin:0;font-size:24px;line-height:1.2;letter-spacing:-.035em;overflow-wrap:anywhere;transition:color .3s}
.nexo-process-track .nexo-process-card p,:is(.home-page,.service-page) .home-process .nexo-process-track p{grid-column:1;grid-row:2;margin:0;font-size:14px;line-height:1.7;color:#607062;max-width:360px;overflow-wrap:anywhere}
.nexo-process-symbol{grid-column:2;grid-row:1 / span 2;width:30px;height:30px;margin-top:2px;color:#488462;opacity:.8;transition:color .3s,transform .35s,opacity .3s}
.nexo-process-symbol svg,.nexo-process-symbol img{display:block;width:100%;height:100%;object-fit:contain}
.nexo-process-card a{text-decoration:underline;text-decoration-color:#9bbaa6;text-underline-offset:5px}
.nexo-process-card a:focus-visible{outline:2px solid #087347;outline-offset:5px}
.nexo-process-track>.nexo-process-step:focus-within .nexo-process-node{transform:perspective(400px) rotateY(0) rotateZ(0) translateY(-3px);color:#fff;border-color:#2c8055;box-shadow:inset 1px 1px 2px #ffffff77,6px 12px 20px -10px #31583d88}
.nexo-process-track>.nexo-process-step:focus-within .nexo-process-node:after{opacity:1}
.nexo-process-track>.nexo-process-step:focus-within .nexo-process-node>span{transform:rotate(0)}
.nexo-process-track>.nexo-process-step:focus-within h3{color:#086441}
.nexo-process-track>.nexo-process-step:focus-within .nexo-process-connector path{stroke:#237e51;stroke-width:1.6}
.nexo-process-finish{display:grid;grid-template-columns:var(--route-node) minmax(0,1fr);gap:26px;align-items:center;min-height:var(--route-node);position:relative}
.nexo-process-finish--offset{margin-left:var(--route-offset)}
.nexo-process-endpoint{display:grid;place-items:center;width:var(--route-node);height:var(--route-node)}
.nexo-process-endpoint>span{position:relative;display:block;width:34px;height:34px;border:1px solid #95b9a0;border-radius:50%;background:var(--paper);box-shadow:0 0 0 5px var(--paper)}
.nexo-process-endpoint>span:after{content:"";position:absolute;inset:10px;border-radius:50%;background:linear-gradient(135deg,#269664,#06402e);box-shadow:0 0 0 4px #dcecdf}
.nexo-process-finish .nexo-btn{justify-self:start;max-width:100%;min-height:48px;font-size:13px;gap:30px;overflow-wrap:anywhere}
.nexo-process-finish--standalone{display:flex;min-height:0}
.nexo-process-route:has(.nexo-process-finish:focus-within) .nexo-process-step:last-child .nexo-process-connector path{stroke:#237e51;stroke-width:1.6}
.nexo-section--dark .nexo-process-endpoint>span{background:#092b20;box-shadow:0 0 0 5px #092b20}
@media(hover:hover){
  .nexo-process-track>.nexo-process-step:hover .nexo-process-node{transform:perspective(400px) rotateY(0) rotateZ(0) translateY(-3px);color:#fff;border-color:#2c8055;box-shadow:inset 1px 1px 2px #ffffff77,6px 12px 20px -10px #31583d88}
  .nexo-process-track>.nexo-process-step:hover .nexo-process-node:after{opacity:1}
  .nexo-process-track>.nexo-process-step:hover .nexo-process-node>span{transform:rotate(0)}
  .nexo-process-track>.nexo-process-step:hover h3{color:#086441}
  .nexo-process-track>.nexo-process-step:hover .nexo-process-symbol{color:#086441;opacity:1;transform:translateY(-2px)}
  .nexo-process-track>.nexo-process-step:hover .nexo-process-connector path{stroke:#237e51;stroke-width:1.6}
  .home-process-scene:hover .home-process-art{transform:translateY(-5px)}
}
:is(.home-page,.service-page) .home-process.nexo-section--dark{background:var(--dark-gradient)}
.nexo-section--dark .nexo-process-node{color:#174b33}
.nexo-section--dark .nexo-process-symbol{color:#a6d9ba}
.nexo-section--dark .nexo-process-track .nexo-process-card p,:is(.home-page,.service-page) .home-process.nexo-section--dark .home-process-intro .nexo-lead,:is(.home-page,.service-page) .home-process.nexo-section--dark .nexo-eyebrow{color:#c4d8ca}
.nexo-section--dark .nexo-process-track>.nexo-process-step:is(:hover,:focus-within) .nexo-process-node{color:white}
.nexo-section--dark .nexo-process-track>.nexo-process-step:is(:hover,:focus-within) h3{color:#b7e9d1}
.nexo-section--dark .nexo-process-card a:focus-visible{outline-color:#b7e9d1}
@media(max-width:1150px){:is(.home-page,.service-page) .home-process .home-process-inner{gap:48px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}:is(.home-page,.service-page) .home-process .nexo-title{font-size:43px}:is(.home-page,.service-page) .home-process .home-process-art{height:350px}.nexo-process-route{--route-offset:44px;--route-node:64px}.nexo-process-track>.nexo-process-step,.nexo-process-finish{column-gap:20px}.nexo-process-node{font-size:25px}.nexo-process-card{column-gap:12px;grid-template-columns:minmax(0,1fr) 26px}.nexo-process-symbol{width:26px;height:26px}.nexo-process-track .nexo-process-card h3,:is(.home-page,.service-page) .home-process .nexo-process-track h3{font-size:22px}}
@media(max-width:1000px){:is(.home-page,.service-page) .home-process .home-process-inner{grid-template-columns:1fr;gap:28px}.home-process-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px;align-items:center}:is(.home-page,.service-page) .home-process .nexo-title{font-size:42px}.home-process-scene{margin:0}:is(.home-page,.service-page) .home-process .home-process-art{height:280px}.home-process-journey{width:100%;max-width:680px;margin-inline:auto}.nexo-process-route{--route-offset:64px;--route-node:64px}:is(.home-page,.service-page) .home-process .home-process-intro .nexo-lead{max-width:560px}.nexo-process-track>.nexo-process-step{min-height:86px}}
@media(max-width:760px){:is(.home-page,.service-page) .home-process.home-section{padding:52px 0 46px}.home-story:has(+:is(.home-page,.service-page) .home-process)+:is(.home-page,.service-page) .home-process{padding-top:52px}:is(.home-page,.service-page) .home-process .home-process-inner{gap:24px}.home-process-overview{display:block}:is(.home-page,.service-page) .home-process .nexo-eyebrow{font-size:9px;margin-bottom:20px}:is(.home-page,.service-page) .home-process .nexo-title{font-size:clamp(35px,8vw,46px);text-wrap:initial}.home-process-scene{margin-top:18px}:is(.home-page,.service-page) .home-process .home-process-art{height:240px;max-width:430px;margin-inline:auto}.home-process-journey{padding-top:0}:is(.home-page,.service-page) .home-process .home-process-intro .nexo-lead{margin-bottom:24px}.nexo-process-route{--route-offset:28px;--route-node:54px;--route-gap:20px}.nexo-process-track>.nexo-process-step,.nexo-process-finish{column-gap:20px}.nexo-process-track>.nexo-process-step{min-height:92px}.nexo-process-node{font-size:22px;border-radius:10px}.nexo-process-node:before{border-radius:6px;inset:4px}.nexo-process-card{grid-template-columns:1fr;padding-top:2px;row-gap:9px}.nexo-process-symbol{display:none}.nexo-process-track .nexo-process-card h3,:is(.home-page,.service-page) .home-process .nexo-process-track h3{font-size:22px}.nexo-process-track .nexo-process-card p,:is(.home-page,.service-page) .home-process .nexo-process-track p{font-size:14px}.nexo-process-finish .nexo-btn{gap:16px;padding:12px 18px}.nexo-process-endpoint>span{width:28px;height:28px}.nexo-process-endpoint>span:after{inset:8px}}
@media(max-width:360px){:is(.home-page,.service-page) .home-process .home-process-art{height:220px}.nexo-process-route{--route-offset:22px;--route-node:48px}.nexo-process-track>.nexo-process-step,.nexo-process-finish{column-gap:16px}.nexo-process-node{font-size:20px}.nexo-process-track .nexo-process-card h3,:is(.home-page,.service-page) .home-process .nexo-process-track h3{font-size:20px}.nexo-process-finish .nexo-btn{font-size:12px;gap:12px;padding-inline:15px}}
@media(prefers-reduced-motion:reduce){:is(.home-page,.service-page) .home-process .home-process-art,.nexo-process-node,.nexo-process-node:after,.nexo-process-node>span,.nexo-process-symbol,.nexo-process-connector path,.nexo-process-track h3{transition:none!important}:is(.home-page,.service-page) .home-process .home-process-art,.nexo-process-node,.nexo-process-node>span,.nexo-process-symbol{transform:none!important}}
@media(forced-colors:active){.nexo-process-node,.nexo-process-endpoint>span{background:Canvas!important;color:CanvasText!important;border:1px solid CanvasText;box-shadow:none}.nexo-process-node:before,.nexo-process-node:after{display:none}.nexo-process-endpoint>span:after{background:CanvasText;box-shadow:none}.nexo-process-symbol,.nexo-process-track .nexo-process-card p,.nexo-process-track h3{color:CanvasText!important}.nexo-process-connector path{stroke:CanvasText!important}}
