/* Additive motion: no content depends on these effects. */
.fx-scene{isolation:isolate}
.fx-ribbons{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:2;
  overflow:hidden;
  pointer-events:none;
}
.fx-ribbon-base{
  fill:none;
  stroke:#bba1e1;
  stroke-width:1.3;
  opacity:.52;
}
.fx-ribbon-light{
  fill:none;
  stroke:#eadcff;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-dasharray:110 890;
  stroke-dashoffset:1000;
  filter:drop-shadow(0 0 4px #a77bdf);
  animation:fx-current 9s linear infinite;
  animation-play-state:paused;
}
.fx-ribbon-light:nth-last-child(2){animation-delay:-3s}
.fx-ribbon-light:last-child{animation-delay:-6s}
.fx-inview .fx-ribbon-light{animation-play-state:running}
.fx-parallax{overflow:hidden}
.fx-parallax>.fx-parallax-image{
  transform:translate3d(0,var(--fx-y,0px),0) scale(1.12);
  transform-origin:center;
  transition:none;
}
.fx-parallax.fx-inview>.fx-parallax-image{will-change:transform}
.fx-depth-running{
  transition:none!important;
  transform-origin:50% 80%;
  backface-visibility:hidden;
}
.fx-pathway{
  position:relative;
  padding-left:25px;
  --route-progress:0;
}
.fx-pathway::before,
.fx-pathway::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:2px;
  width:2px;
  pointer-events:none;
}
.fx-pathway::before{background:rgba(222,210,239,.2)}
.fx-pathway::after{
  background:linear-gradient(#8c6dbd,#e8d6ff);
  transform:scaleY(var(--route-progress));
  transform-origin:top;
  box-shadow:0 0 13px rgba(190,150,244,.65);
}
.fx-pathway .pathway-step::after{
  content:"";
  position:absolute;
  top:35px;
  left:-26px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#1a2437;
  border:1px solid #bba1e1;
  z-index:1;
  transition:background .3s,box-shadow .3s;
}
.fx-pathway .pathway-step.fx-past::after{
  background:#eadcff;
  box-shadow:0 0 14px #b289e2;
}
@keyframes fx-current{
  from{stroke-dashoffset:1000}
  to{stroke-dashoffset:0}
}
@media(max-width:760px){
  .fx-ribbon-light{stroke-width:3;animation-duration:11s}
  .fx-ribbon-base{stroke-width:1.6}
}
@media(prefers-reduced-motion:reduce){
  .fx-ribbon-light{animation:none;stroke-dasharray:none;opacity:.25;filter:none}
  .fx-parallax>.fx-parallax-image{transform:none!important}
  .fx-depth-running{transform:none!important;clip-path:none!important;opacity:1!important}
  .fx-pathway::after{transform:scaleY(1);box-shadow:none}
}
@media print{
  .fx-ribbons,.fx-pathway::before,.fx-pathway::after{display:none}
  .fx-parallax>.fx-parallax-image{transform:none}
}

.fx-pathway .pathway-step{position:relative}.page-hero-copy{position:relative;z-index:4}


