/* Patient Journey Section - V12 */
.vr-journey{
  position:relative;
  padding:108px 0 116px;
  background:
    radial-gradient(circle at 12% 18%,rgba(123,77,255,.08),transparent 30%),
    radial-gradient(circle at 88% 26%,rgba(46,214,255,.09),transparent 32%),
    linear-gradient(180deg,#F8FAFC 0%,#FFFFFF 100%);
  overflow:hidden;
}
.vr-journey:before{
  content:"";
  position:absolute;
  left:50%;
  top:128px;
  width:min(920px,78vw);
  height:min(920px,78vw);
  transform:translateX(-50%);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(123,77,255,.055),rgba(46,214,255,.045));
  filter:blur(10px);
  pointer-events:none;
}
.vr-journey .vr-container{position:relative;z-index:1}
.vr-journey__head{margin-bottom:54px}
.vr-journey-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.vr-journey-timeline:before{
  content:"";
  position:absolute;
  top:55px;
  left:10%;
  right:10%;
  height:2px;
  background:linear-gradient(90deg,rgba(123,77,255,0),rgba(123,77,255,.42),rgba(46,214,255,.40),rgba(46,214,255,0));
  z-index:0;
}
.vr-journey-step{
  position:relative;
  z-index:1;
  min-height:310px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:26px;
  padding:26px;
  border-radius:30px;
  border:1px solid rgba(229,231,235,.90);
  background:rgba(255,255,255,.86);
  box-shadow:0 14px 40px rgba(17,24,39,.06);
  backdrop-filter:blur(14px);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease;
}
.vr-journey-step:hover{
  transform:translateY(-8px);
  border-color:rgba(123,77,255,.36);
  background:#fff;
  box-shadow:0 28px 70px rgba(17,24,39,.12);
}
.vr-journey-step__node{
  position:relative;
  width:86px;
  height:86px;
  border-radius:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,#7B4DFF 0%,#5B31D6 100%);
  box-shadow:0 18px 40px rgba(123,77,255,.24);
}
.vr-journey-step:nth-child(even) .vr-journey-step__node{
  background:linear-gradient(135deg,#2ED6FF 0%,#2578FF 100%);
  box-shadow:0 18px 40px rgba(46,214,255,.22);
}
.vr-journey-step__node span{
  position:absolute;
  left:10px;
  top:9px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  color:rgba(255,255,255,.72);
}
.vr-journey-step__node i{font-size:28px}
.vr-journey-step__content h3{
  margin:0 0 14px;
  font-size:24px;
  line-height:1.12;
  letter-spacing:-.04em;
  color:#111827;
  font-weight:700;
}
.vr-journey-step__content p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.75;
  font-weight:400;
}
.vr-animate-step{
  opacity:0;
  transform:translateY(34px);
}
.vr-animate-step.is-visible{
  opacity:1;
  transform:translateY(0);
  transition:opacity .64s cubic-bezier(.2,.7,.2,1) var(--step-delay,0s), transform .64s cubic-bezier(.2,.7,.2,1) var(--step-delay,0s), box-shadow .28s ease, border-color .28s ease, background .28s ease;
}
.vr-animate-step.is-visible:hover{transform:translateY(-8px)}

@media (max-width:1080px){
  .vr-journey{padding:88px 0 96px}
  .vr-journey-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vr-journey-timeline:before{display:none}
  .vr-journey-step{min-height:280px}
}
@media (max-width:720px){
  .vr-journey{padding:68px 0 76px}
  .vr-journey__head{text-align:left;margin-bottom:34px}
  .vr-journey-timeline{
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .vr-journey-timeline:before{
    display:block;
    top:44px;
    bottom:44px;
    left:34px;
    right:auto;
    width:2px;
    height:auto;
    background:linear-gradient(180deg,rgba(123,77,255,.0),rgba(123,77,255,.34),rgba(46,214,255,.32),rgba(46,214,255,0));
  }
  .vr-journey-step{
    min-height:auto;
    display:grid;
    grid-template-columns:72px 1fr;
    gap:18px;
    padding:20px;
    border-radius:24px;
  }
  .vr-journey-step__node{
    width:68px;
    height:68px;
    border-radius:22px;
  }
  .vr-journey-step__node i{font-size:22px}
  .vr-journey-step__content h3{font-size:21px;margin-bottom:10px}
  .vr-journey-step__content p{font-size:14.5px;line-height:1.65}
}
@media (prefers-reduced-motion:reduce){
  .vr-animate-step{opacity:1;transform:none}
  .vr-animate-step.is-visible{transition:none}
}
