.road {
  position: relative;
  height: 7.6rem;
  overflow: hidden;
  border-bottom: 1px solid #1c2a36;
  background:
    repeating-linear-gradient(90deg, #071018 0 28px, #0a141c 28px 56px);
}
.road::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 1.15rem;
  height: 3px;
  background: repeating-linear-gradient(90deg, #d4af37 0 18px, transparent 18px 36px);
  animation: dash 1.1s linear infinite;
}
@keyframes dash {
  from { background-position: 0 0; }
  to { background-position: 36px 0; }
}
.rig {
  position: absolute;
  bottom: .35rem;
  width: 280px;
  height: 92px;
  animation: cruise 16s linear infinite;
  filter: drop-shadow(0 0 8px rgba(102, 252, 241, .25));
}
@keyframes cruise {
  0% { left: -280px; }
  100% { left: 100%; }
}
.said {
  position: absolute;
  top: .4rem;
  left: 50%;
  transform: translateX(-50%);
  color: #66fcf1;
  font-size: .92rem;
  letter-spacing: .14em;
  font-weight: 650;
  white-space: nowrap;
  text-align: center;
  width: 96%;
  text-transform: uppercase;
}
.sq { fill: #071018; stroke: #d4af37; stroke-width: 1.4; }
.sq.on { fill: #d4af37; }
.mir { fill: #66fcf1; opacity: .45; }
.mir.flash { opacity: 1; }
.bone { fill: none; stroke: #e8eef4; stroke-width: 1.6; }
.tire { fill: #05080c; stroke: #d4af37; stroke-width: 2; }
@media (prefers-reduced-motion: reduce) {
  .rig, .road::after { animation: none; }
  .rig { left: 28%; }
}
