/* Supplementary keyframes — kept separate from base tokens for clarity */

@keyframes trussScroll{
  from{ background-position: 0 0; }
  to{ background-position: -240px 0; }
}
.truss-strip{
  height: 46px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='46' viewBox='0 0 120 46'%3E%3Cg fill='none' stroke='%23D4AF37' stroke-opacity='0.35' stroke-width='1.5'%3E%3Cpath d='M0 40 L20 6 L40 40 L60 6 L80 40 L100 6 L120 40'/%3E%3Cline x1='0' y1='40' x2='120' y2='40'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat-x;
  animation: trussScroll 12s linear infinite;
  opacity: .6;
}

@keyframes floatSlow{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-10px); }
}
.float-slow{ animation: floatSlow 6s ease-in-out infinite; }

@keyframes pulseDot{
  0%{ box-shadow: 0 0 0 0 rgba(212,175,55,.6); }
  70%{ box-shadow: 0 0 0 12px rgba(212,175,55,0); }
  100%{ box-shadow: 0 0 0 0 rgba(212,175,55,0); }
}
.pulse-dot{ width:8px; height:8px; border-radius:50%; background: var(--c-gold); animation: pulseDot 2.2s infinite; }

@keyframes scrollCueMove{
  0%{ transform: translateY(-100%); }
  100%{ transform: translateY(100%); }
}
.hero-scroll-cue .line::after{
  content:"";
  position:absolute; left:0; top:0; width:100%; height:40%;
  background: var(--c-gold);
  animation: scrollCueMove 1.8s ease-in-out infinite;
}

@keyframes drawLine{
  from{ stroke-dashoffset: 1; }
  to{ stroke-dashoffset: 0; }
}
.draw-path{
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  pathLength: 1;
  animation: drawLine 2.2s var(--ease) forwards;
}

@keyframes shimmerGold{
  0%{ background-position: -200% 0; }
  100%{ background-position: 200% 0; }
}
.shimmer-text{
  background: linear-gradient(90deg, var(--c-gold-dim) 20%, var(--c-gold-light) 40%, var(--c-gold-light) 60%, var(--c-gold-dim) 80%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: shimmerGold 3.5s linear infinite;
}
