/* Motion system — keyframes translated from Keevaath Visual System v2 */

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

@keyframes gapL{ 0%,8%{ transform:translateX(-46px); opacity:.3 } 55%,100%{ transform:translateX(0); opacity:1 } }
@keyframes gapR{ 0%,8%{ transform:translateX(46px); opacity:.3 } 55%,100%{ transform:translateX(0); opacity:1 } }
@keyframes gapJoin{ 0%,48%{ opacity:0; transform:scale(.3) } 62%{ opacity:1; transform:scale(1.3) } 78%,100%{ opacity:.9; transform:scale(1) } }
@keyframes gapWeb{ 0%,50%{ stroke-dashoffset:180; opacity:0 } 72%,100%{ stroke-dashoffset:0; opacity:.8 } }
@keyframes drift{ 0%{ transform:translate3d(0,0,0) scale(1) } 50%{ transform:translate3d(-3%,2%,0) scale(1.07) } 100%{ transform:translate3d(0,0,0) scale(1) } }
@keyframes ruleGrow{ 0%{ transform:scaleX(0) } 100%{ transform:scaleX(1) } }
@keyframes kenburns{ 0%{ transform:scale(1.04) translate3d(0,0,0) } 50%{ transform:scale(1.12) translate3d(-2%,-1.4%,0) } 100%{ transform:scale(1.04) translate3d(0,0,0) } }
@keyframes sheen{ 0%{ transform:translateX(-70%) skewX(-14deg); opacity:0 } 12%{ opacity:.5 } 60%{ opacity:.5 } 100%{ transform:translateX(170%) skewX(-14deg); opacity:0 } }
@keyframes ringOut{ 0%{ transform:scale(.35); opacity:0 } 18%{ opacity:.5 } 100%{ transform:scale(1.5); opacity:0 } }
@keyframes hueRoll{ 0%,100%{ opacity:.42 } 50%{ opacity:.85 } }
@keyframes dropIn{ from{ opacity:0; transform:translateY(-10px) } to{ opacity:1; transform:translateY(0) } }
@keyframes drawerIn{ from{ opacity:0; transform:translateX(14px) } to{ opacity:1; transform:translateX(0) } }
@keyframes navTick{ 0%,100%{ transform:translateX(0) } 50%{ transform:translateX(4px) } }
@keyframes colSweep{ 0%,100%{ background:transparent } 6%{ background:rgba(186,117,23,.14) } 20%{ background:transparent } }
@keyframes stampDrop{ 0%{ transform:rotate(-16deg) scale(2.1); opacity:0 } 9%{ transform:rotate(-9deg) scale(1); opacity:1 } 100%{ transform:rotate(-9deg) scale(1); opacity:1 } }
@keyframes marginDraw{ 0%{ transform:scaleY(0) } 30%,100%{ transform:scaleY(1) } }
@keyframes dotBreathe{ 0%,100%{ transform:scale(1); opacity:.9 } 50%{ transform:scale(1.28); opacity:1 } }
@keyframes railFill{ 0%{ transform:scaleX(0) } 70%,100%{ transform:scaleX(1) } }
@keyframes railRun{ 0%{ left:0%; opacity:0 } 6%{ opacity:1 } 70%{ left:100%; opacity:1 } 80%,100%{ left:100%; opacity:0 } }
@keyframes stagePop{ 0%,100%{ transform:scale(1) } 12%{ transform:scale(1.9) } 30%{ transform:scale(1) } }
@keyframes rowLitDark{ 0%,100%{ background:transparent } 3%{ background:rgba(250,248,244,.09) } 15%{ background:transparent } }
@keyframes glyphLit{ 0%,100%{ transform:scale(1); opacity:.42 } 3%{ transform:scale(1.4); opacity:1 } 15%{ transform:scale(1); opacity:.42 } }
@keyframes scanBar{ 0%{ top:0 } 100%{ top:100% } }
@keyframes streamRun{ to{ stroke-dashoffset:-320 } }
@keyframes nodeBreathe{ 0%,100%{ r:7; opacity:1 } 50%{ r:10; opacity:.55 } }
@keyframes spin{ to{ transform:rotate(360deg) } }
@keyframes spinBack{ to{ transform:rotate(-360deg) } }
@keyframes ringPulse{ 0%,100%{ opacity:.3; transform:scale(1) } 50%{ opacity:.85; transform:scale(1.035) } }
@keyframes mqL{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }
@keyframes mqR{ from{ transform:translateX(-50%) } to{ transform:translateX(0) } }
@keyframes stampIn{ 0%{ transform:scale(1.5); opacity:0 } 8%,100%{ transform:scale(1); opacity:1 } }
@keyframes tickDraw{ 0%,6%{ stroke-dashoffset:26 } 16%,100%{ stroke-dashoffset:0 } }
@keyframes dashRing{ to{ transform:rotate(360deg) } }
@keyframes colourWave{ 0%,100%{ filter:grayscale(1) opacity(.55) } 8%{ filter:grayscale(0) opacity(1) } 22%{ filter:grayscale(1) opacity(.55) } }
@keyframes sweep{ 0%,100%{ transform:translate(0,0) } 40%{ transform:translate(5px,5px) } }
@keyframes lift{ 0%,100%{ transform:translateY(0) } 45%{ transform:translateY(-4px) } }
@keyframes shieldFill{ 0%,100%{ opacity:.14 } 45%{ opacity:.55 } }
@keyframes barsUp{ 0%,100%{ transform:scaleY(.45) } 50%{ transform:scaleY(1) } }
@keyframes shuttle{ 0%,100%{ transform:translateX(0) } 50%{ transform:translateX(4px) } }
@keyframes gear{ to{ transform:rotate(360deg) } }
@keyframes riseIn{ 0%,100%{ transform:translateY(0); opacity:.9 } 50%{ transform:translateY(-3px); opacity:1 } }
@keyframes ekg{ to{ stroke-dashoffset:-1200 } }
@keyframes blip{ 0%,100%{ opacity:.25; transform:scale(1) } 50%{ opacity:1; transform:scale(1.5) } }
@keyframes sparkGrow{ 0%,100%{ transform:scaleY(.35) } 50%{ transform:scaleY(1) } }
@keyframes caret{ 0%,49%{ opacity:1 } 50%,100%{ opacity:0 } }
@keyframes chipLit{ 0%,100%{ background:transparent; color:#48525E; border-color:#DED5C6 } 6%{ background:#fff; color:#0F1A24; border-color:#B5341A } 20%{ background:transparent; color:#48525E; border-color:#DED5C6 } }
@keyframes packetY{ 0%{ top:0%; opacity:0 } 8%{ opacity:1 } 92%{ top:100%; opacity:1 } 100%{ top:100%; opacity:0 } }
