/* A continuous current connects the chapters without scrubbing backwards. */
.brand-atmosphere:before {
  transform: translate3d(var(--ribbon-drift-x, 0px), var(--ribbon-drift-y, 0px), 0) scale(1.04);
}
.hero:before {
  inset: -32px;
  transform: translate3d(var(--ribbon-drift-x, 0px), var(--ribbon-drift-y, 0px), 0) scale(1.04);
}
.continuity-ribbons {
  transform: translate(-50%, -50%)
    translate3d(var(--ribbon-drift-x, 0px), var(--ribbon-drift-y, 0px), 0)
    rotate(calc(var(--scene-angle, -10deg) + var(--ribbon-drift-angle, 0deg)))
    scale(var(--scene-scale, 1));
}
.continuity-curves, .continuity-current {
  transform-box: view-box;
  transform-origin: 50% 50%;
  transform: scaleY(var(--ribbon-breathe, 1));
}
.continuity-trace {
  stroke: #a8baff;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-dasharray: 75 925;
  stroke-dashoffset: calc(var(--signal-offset, 0px) + var(--trace-offset, 0px));
  opacity: .7;
}
.continuity-trace:nth-child(2n) { stroke: #b69aff; opacity: .48; }
.continuity-trace:nth-child(3n) { stroke: #f12e9a; opacity: .42; }
.journey-glint {
  stroke-dashoffset: calc(var(--signal-offset, 0px) * 6);
}
.continuity-aura {
  transform: translate(-50%, -50%)
    translate3d(var(--ribbon-drift-x, 0px), var(--ribbon-drift-y, 0px), 0)
    scale(var(--scene-scale, 1));
}
@media (max-width: 720px) {
  .continuity-trace { stroke-width: 1.1; opacity: .58; }
  .continuity-trace:nth-child(2n) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .brand-atmosphere:before, .hero:before { transform: none; }
  .continuity-current { display: none; }
}
