/* Restrained launch motion: one entrance, calm surfaces, precise feedback. */
:root { --voltix-ease: cubic-bezier(.22, 1, .36, 1); }
.voltix-terminal-intro .animate-slide-left {
  animation: voltix-terminal-line 600ms ease-out forwards;
}
@keyframes voltix-terminal-line {
  from { opacity: 0; transform: translateX(-40px); }
  to { opacity: 1; transform: translateX(0); }
}
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 88px; }
.voltix-intro {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  background: #080808;
  animation: voltix-intro-out 200ms ease 650ms both;
}
.voltix-intro-logo {
  width: clamp(100px, 18vw, 170px);
  height: auto;
  mix-blend-mode: normal;
  animation: voltix-logo-in 650ms var(--voltix-ease) both;
}
@keyframes voltix-logo-in {
  from { opacity: 0; transform: scale(.96); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes voltix-intro-out {
  to { opacity: 0; visibility: hidden; }
}
@keyframes voltix-rise {
  from { opacity: 0; translate: 0 18px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes voltix-settle {
  from { opacity: 0; scale: 1.025; }
  to { opacity: .7; scale: 1; }
}
@keyframes voltix-light-pass {
  0% { opacity: 0; transform: translateX(-110%) scaleX(.6); }
  25% { opacity: .65; }
  70% { opacity: .35; }
  100% { opacity: 0; transform: translateX(110%) scaleX(1); }
}
.animate-scale-in, .animate-slide-left {
  animation: voltix-rise 850ms var(--voltix-ease) both;
}
.animate-float, .animate-floaty, .animate-floaty-slow,
.animate-neon, .animate-pulse-glow-white, .animate-glitch, .animate-glitch-text {
  animation: none;
}
.grain-overlay, .scanlines-overlay, .scan-sweep::after { display: none; }
/* Keep the central visual; remove the continuously drifting fragments. */
section img[aria-hidden="true"] { display: none; }
#top { isolation: isolate; }
#top::before {
  content: "";
  position: absolute;
  top: 53%;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #e82127 45%, #fff 50%, #e82127 55%, transparent);
  box-shadow: 0 0 22px 2px #e8212730;
  pointer-events: none;
  animation: voltix-light-pass 1800ms var(--voltix-ease) 200ms both;
}
#top > p { animation: voltix-rise 800ms var(--voltix-ease) 50ms both; }
#top h1 { animation: voltix-rise 1100ms var(--voltix-ease) 120ms both; }
#top > div.relative { animation: voltix-rise 1000ms var(--voltix-ease) 220ms both; }
#top img.animate-float { animation: voltix-settle 1600ms var(--voltix-ease) 150ms both; }
header {
  background: #080808c7;
  backdrop-filter: blur(18px);
  border-bottom: 1px solid #ffffff0b;
}
.cta-pill, .iridescent-pill, button, a, article {
  transition-property: color, background-color, border-color, opacity, box-shadow, transform;
  transition-duration: 250ms;
  transition-timing-function: var(--voltix-ease);
}
.cta-pill, .iridescent-pill,
.cta-pill:hover, .iridescent-pill:hover { box-shadow: none; transform: none; }
@media (hover: hover) {
  a.cta-pill:hover, a.iridescent-pill:hover { transform: translateY(-2px); }
  #capabilities article:hover { background-color: #ffffff08; }
}
a.cta-pill:active, a.iridescent-pill:active, button:active { transform: scale(.985); }
.animate-pulse { animation: voltix-status 3s ease-in-out infinite; }
@keyframes voltix-status { 0%, 100% { opacity: 1; } 50% { opacity: .7; } }
@media (max-width: 640px) {
  #top::before { box-shadow: none; }
  @keyframes voltix-rise {
    from { opacity: 0; translate: 0 10px; }
    to { opacity: 1; translate: 0 0; }
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .voltix-intro, #top::before { display: none; }
}
