/* Shared process surface: larger nodes and one continuous connector. */
.steps{
  position:relative;
  isolation:isolate;
  gap:28px;
  margin-top:42px;
  margin-bottom:28px;
  padding:21px 24px 20px;
  border:1px solid rgb(88 101 242 / .16);
  border-radius:18px;
  background:rgb(255 255 255 / .92);
  box-shadow:0 12px 30px rgb(20 38 54 / .045);
}
.steps::before,.steps::after{
  content:"";
  position:absolute;
  left:calc(16.6667% + 16px);
  right:calc(16.6667% + 16px);
  top:41px;
  height:3px;
  border-radius:3px;
  z-index:0;
}
.steps::before{background:var(--ora-color-primary-soft)}
.steps::after{
  background:linear-gradient(90deg,var(--ora-color-primary),#7983fa);
  transform-origin:left center;
}
.steps li{
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
  z-index:1;
}
.steps li:not(:last-child)::after{display:none}
.steps .step-number{
  width:42px;
  height:42px;
  border:0;
  background:var(--ora-color-primary);
  color:var(--ora-color-on-primary);
  font-size:14px;
  font-weight:700;
  box-shadow:0 0 0 7px #fff,0 5px 16px rgb(88 101 242 / .2);
}
.steps strong{font-size:18px;font-weight:700;letter-spacing:.3px}
.steps p{font-size:12px;line-height:1.75;margin-top:5px;white-space:nowrap}
.hero.is-entering .steps::after{animation:flow-connect .95s 1s cubic-bezier(.3,.1,.3,1) both}
.hero.is-entering .steps li{animation:flow-node-in .55s both}
.hero.is-entering .steps li:nth-child(1){animation-delay:.9s}
.hero.is-entering .steps li:nth-child(2){animation-delay:1.25s}
.hero.is-entering .steps li:nth-child(3){animation-delay:1.6s}
@keyframes flow-connect{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes flow-node-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:761px) and (max-width:1100px){
  .steps{gap:14px;padding-inline:16px}
  .steps strong{font-size:18px}
  .steps p{font-size:11px}
}
@media(max-width:760px){
  .steps{grid-template-columns:1fr;gap:22px;padding:22px 20px;margin-top:25px;margin-bottom:22px;border-radius:15px}
  .steps li{flex-direction:row;gap:18px;text-align:left;align-items:center}
  .steps .step-number{width:40px;height:40px;font-size:13px}
  .steps strong{font-size:16px}
  .steps p{font-size:11px;margin-top:4px;white-space:normal}
  .steps::before,.steps::after{left:39px;right:auto;top:42px;bottom:42px;width:3px;height:auto;transform-origin:center top}
  .steps::after{background:linear-gradient(180deg,var(--ora-color-primary),#7983fa)}
  .hero.is-entering .steps::after{animation-name:flow-connect-vertical}
  @keyframes flow-connect-vertical{from{transform:scaleY(0)}to{transform:scaleY(1)}}
}
@media(prefers-reduced-motion:reduce){
  .hero.is-entering .steps::after,.hero.is-entering .steps li{animation:none!important}
}
