/* ============================================================
   Kitsune AI — Solutions side-wings
   Ambient vertical motion rails that flank the hero (Composio-style).
   Pure CSS so they run regardless of rAF. Color per page via
   .swings--fox / .swings--indigo / .swings--electric.
   ============================================================ */
.swings { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.swing {
  position: absolute; top: 0; bottom: 0; width: clamp(44px, 5.5vw, 88px);
  display: flex; justify-content: space-evenly; align-items: stretch;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 84%, transparent);
          mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 84%, transparent);
}
.swing--l { left: 0; }
.swing--r { right: 0; }

/* a faint vertical track with a glowing pulse travelling along it */
.swing__rail { position: relative; width: 1px; background: rgba(11,13,18,.05); overflow: visible; }
.swing__rail::before {
  content: ""; position: absolute; left: -2px; width: 5px; height: 20%; top: -25%; border-radius: 6px;
  background: linear-gradient(to bottom, transparent, var(--w1), transparent);
  box-shadow: 0 0 11px 1px var(--w1);
  animation: wingfall var(--dur, 7s) linear infinite; animation-delay: var(--delay, 0s);
}
.swing__rail--alt::before {
  background: linear-gradient(to bottom, transparent, var(--w2), transparent);
  box-shadow: 0 0 11px 1px var(--w2);
}
.swing__rail--up::before { animation-name: wingrise; }
@keyframes wingfall { from { top: -25%; } to { top: 125%; } }
@keyframes wingrise { from { top: 125%; } to { top: -25%; } }

/* per-page palettes */
.swings--fox      { --w1: #ee4d1f; --w2: #f4a08a; }
.swings--indigo   { --w1: #5b46e0; --w2: #9a8bf5; }
.swings--electric { --w1: #2337f1; --w2: #1aa3d6; }

/* keep clear of the content column on smaller screens */
@media (max-width: 1200px) { .swings { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .swing__rail::before { animation: none; top: 40%; opacity: .5; }
}
