.home-implementation{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#edf7f5 0%,#f8fcfb 72%,#fff 100%);
  border-top:1px solid rgba(10,91,105,.12);
}
.home-implementation::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 88% 8%,rgba(63,255,228,.13),transparent 27%);
}
.home-implementation .shell{position:relative}
.implementation-heading{max-width:810px;margin:0 auto 62px;text-align:center}
.implementation-heading h2{font-size:clamp(2.1rem,4.2vw,3.5rem)}
.implementation-heading h2 em{margin-right:.12em}
.implementation-title-line{display:block}
.implementation-heading p{max-width:740px;margin:22px auto 0;font-size:1.05rem;line-height:1.78}
.implementation-route{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin:0;
  padding:0;
  list-style:none;
}
.implementation-route::before{
  content:'';
  position:absolute;
  top:22px;
  left:calc((100% - 48px)/6);
  right:calc((100% - 48px)/6);
  height:3px;
  background:radial-gradient(circle,rgba(10,91,105,.48) 1px,transparent 1.5px) left center/8px 3px repeat-x;
}
.implementation-step{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center}
.implementation-step:nth-child(1){--node-delay:0s}
.implementation-step:nth-child(2){--node-delay:1.8s}
.implementation-step:nth-child(3){--node-delay:3.6s}
.implementation-node{
  position:relative;
  z-index:1;
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border:2px solid #3fffe4;
  border-radius:50%;
  background:#075b63;
  box-shadow:0 0 0 7px rgba(63,255,228,.12),0 0 14px rgba(10,154,151,.22),inset 0 0 0 3px rgba(1,33,43,.2);
  color:#fff;
  font-family:var(--mono);
  font-size:.79rem;
  font-weight:600;
  letter-spacing:.03em;
}
.implementation-node::after{
  content:'';
  position:absolute;
  inset:-2px;
  border:2px solid #20d8c7;
  border-radius:inherit;
  box-shadow:0 0 18px rgba(10,154,151,.28);
  opacity:0;
  transform:scale(.95);
  pointer-events:none;
}
@media(prefers-reduced-motion:no-preference){
  .implementation-route.motion-entered .implementation-node{animation:implementationNodeFlash 5.4s ease-in-out var(--node-delay) infinite both}
  .implementation-route.motion-entered .implementation-node::after{animation:implementationNodeLight 5.4s ease-in-out var(--node-delay) infinite both}
  .home-implementation.motion-sleeping .implementation-node,
  .home-implementation.motion-sleeping .implementation-node::after{animation-play-state:paused}
}
@keyframes implementationNodeFlash{
  0%,29%,100%{transform:scale(1);box-shadow:0 0 0 7px rgba(63,255,228,.12),0 0 14px rgba(10,154,151,.22),inset 0 0 0 3px rgba(1,33,43,.2)}
  5%,21%{transform:scale(1.06);box-shadow:0 0 0 11px rgba(63,255,228,.25),0 0 32px rgba(10,154,151,.7),inset 0 0 0 3px rgba(1,33,43,.2)}
}
@keyframes implementationNodeLight{
  0%,29%,100%{opacity:0;transform:scale(.95)}
  5%,21%{opacity:.8;transform:scale(1.15)}
}
.implementation-card{
  width:100%;
  flex:1;
  margin-top:26px;
  padding:31px 30px 33px;
  border:1px solid #d7e6e3;
  border-radius:18px;
  background:rgba(255,255,255,.7);
  box-shadow:0 18px 38px -38px rgba(1,33,43,.4);
}
.implementation-card h3{max-width:290px;margin:0 0 15px;font-size:clamp(1.24rem,1.75vw,1.52rem);line-height:1.22}
.implementation-card p{font-size:.97rem;line-height:1.72}
.implementation-action{display:flex;justify-content:center;margin-top:48px}
.implementation-action .button{min-height:56px;padding-inline:28px}
@media(max-width:760px){
  .home-implementation{padding-block:76px 82px}
  .implementation-heading{margin-bottom:43px;text-align:center}
  .implementation-title-line{display:inline}
  .implementation-heading p{margin-inline:auto;font-size:1rem}
  .implementation-route{display:flex;flex-direction:column;gap:22px}
  .implementation-route::before{top:24px;bottom:24px;left:22px;right:auto;width:3px;height:auto;background:radial-gradient(circle,rgba(10,91,105,.48) 1px,transparent 1.5px) center top/3px 8px repeat-y}
  .implementation-step{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:18px}
  .implementation-node{grid-column:1;grid-row:1}
  .implementation-card{grid-column:2;grid-row:1;margin-top:0;padding:24px 22px 25px}
  .implementation-card h3{max-width:none;font-size:1.3rem}
  .implementation-action{margin-top:42px}
}
@media(max-width:480px){
  .implementation-step{gap:14px}
  .implementation-card{padding:22px 19px 23px}
  .implementation-card p{font-size:.93rem}
  .implementation-action .button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .implementation-step,.implementation-heading,.implementation-action{transition:none}
  .implementation-node,.implementation-node::after{animation:none;transform:none}
  .implementation-node::after{opacity:0}
}
