.mt-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.mt-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.mt-reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.mt-reveal-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.mt-reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.mt-reveal-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.mt-reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.mt-reveal-scale.is-visible {
  opacity: 1;
  transform: scale(1);
}

.mt-stagger > * {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.mt-stagger.is-visible > *:nth-child(1) { transition-delay: 0ms; opacity: 1; transform: translateY(0); }
.mt-stagger.is-visible > *:nth-child(2) { transition-delay: 80ms; opacity: 1; transform: translateY(0); }
.mt-stagger.is-visible > *:nth-child(3) { transition-delay: 160ms; opacity: 1; transform: translateY(0); }
.mt-stagger.is-visible > *:nth-child(4) { transition-delay: 240ms; opacity: 1; transform: translateY(0); }
.mt-stagger.is-visible > *:nth-child(5) { transition-delay: 320ms; opacity: 1; transform: translateY(0); }
.mt-stagger.is-visible > *:nth-child(6) { transition-delay: 400ms; opacity: 1; transform: translateY(0); }
.mt-stagger.is-visible > *:nth-child(7) { transition-delay: 480ms; opacity: 1; transform: translateY(0); }
.mt-stagger.is-visible > *:nth-child(8) { transition-delay: 560ms; opacity: 1; transform: translateY(0); }

@keyframes mt-float-a {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

@keyframes mt-float-b {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-14px); }
}

@keyframes mt-float-c {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

@keyframes mt-float-d {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
}

@keyframes mt-float-e {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-9px); }
}

@keyframes mt-signal-pulse {
  0%, 100% { opacity: 0.25; transform: rotate(var(--signal-r)) scaleX(0.65); }
  50% { opacity: 0.9; transform: rotate(var(--signal-r)) scaleX(1); }
}

@keyframes mt-gradient-drift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes mt-shimmer-text {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes mt-scan-line {
  0% { top: -4px; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { top: calc(100% + 4px); opacity: 0; }
}

@keyframes mt-glow-pulse {
  0%, 100% { box-shadow: 0 0 20px rgba(75, 157, 255, 0.15); }
  50% { box-shadow: 0 0 40px rgba(75, 157, 255, 0.3), 0 0 60px rgba(140, 92, 255, 0.15); }
}

@keyframes mt-connector-flow {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

@keyframes mt-orbit-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes mt-orbit-spin-reverse {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(-360deg); }
}

@keyframes mt-node-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(75, 157, 255, 0.4); }
  50% { box-shadow: 0 0 0 8px rgba(75, 157, 255, 0); }
}

@keyframes mt-data-flow {
  0% { stroke-dashoffset: 200; }
  100% { stroke-dashoffset: 0; }
}

@keyframes mt-badge-pop {
  0% { transform: scale(0); opacity: 0; }
  60% { transform: scale(1.15); }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes mt-ambient-bg {
  0%, 100% {
    background-position:
      18% 14%,
      84% 12%,
      78% 76%,
      center;
  }
  33% {
    background-position:
      22% 18%,
      80% 16%,
      74% 72%,
      center;
  }
  66% {
    background-position:
      14% 10%,
      88% 8%,
      82% 80%,
      center;
  }
}

@keyframes mt-card-shine {
  0% { left: -100%; }
  100% { left: 200%; }
}

.mt-float-a { animation: mt-float-a 4.2s ease-in-out infinite; }
.mt-float-b { animation: mt-float-b 5.1s ease-in-out infinite; }
.mt-float-c { animation: mt-float-c 3.8s ease-in-out infinite; }
.mt-float-d { animation: mt-float-d 4.6s ease-in-out infinite; }
.mt-float-e { animation: mt-float-e 5.5s ease-in-out infinite; }

.mt-signal-burst-animated span {
  animation: mt-signal-pulse 3s ease-in-out infinite;
}
.mt-signal-burst-animated span:nth-child(1) { --signal-r: -22deg; animation-delay: 0s; }
.mt-signal-burst-animated span:nth-child(2) { --signal-r: -10deg; animation-delay: 0.3s; }
.mt-signal-burst-animated span:nth-child(3) { --signal-r: 2deg; animation-delay: 0.6s; }
.mt-signal-burst-animated span:nth-child(4) { --signal-r: 14deg; animation-delay: 0.9s; }
.mt-signal-burst-animated span:nth-child(5) { --signal-r: 26deg; animation-delay: 1.2s; }

.mt-gradient-text-animated {
  background-size: 200% auto;
  animation: mt-shimmer-text 4s linear infinite;
}

.mt-scan-line::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(75, 157, 255, 0.5), rgba(140, 92, 255, 0.3), transparent);
  animation: mt-scan-line 4s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
}

.mt-glow-pulse {
  animation: mt-glow-pulse 3s ease-in-out infinite;
}

.mt-connector-animated::after {
  background-size: 200% 100%;
  background-image: linear-gradient(90deg, rgba(99, 108, 255, 0.1), rgba(99, 108, 255, 0.7), rgba(113, 73, 255, 0.1));
  animation: mt-connector-flow 2s linear infinite;
}

.mt-card-hover {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease;
}

.mt-card-hover:hover {
  transform: translateY(-4px);
  border-color: rgba(96, 132, 255, 0.3);
  box-shadow: 0 20px 60px rgba(1, 7, 18, 0.5), 0 0 30px rgba(75, 157, 255, 0.12);
}

.mt-card-tilt {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
  transform-style: preserve-3d;
}

.mt-hero-load {
  opacity: 0;
  transform: translateX(40px);
  animation: mt-hero-slide-in 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.3s forwards;
}

@keyframes mt-hero-slide-in {
  to { opacity: 1; transform: translateX(0); }
}

.mt-hero-workspace-load {
  opacity: 0;
  transform: scale(0.95);
  animation: mt-hero-workspace-in 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.5s forwards;
}

@keyframes mt-hero-workspace-in {
  to { opacity: 1; transform: scale(1); }
}

.mt-hero-copy-load {
  opacity: 0;
  transform: translateY(20px);
  animation: mt-hero-copy-in 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}

@keyframes mt-hero-copy-in {
  to { opacity: 1; transform: translateY(0); }
}

.mt-workspace-row-load {
  opacity: 0;
  transform: translateX(20px);
  animation: mt-row-in 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.mt-workspace-row-load:nth-child(1) { animation-delay: 0.5s; }
.mt-workspace-row-load:nth-child(2) { animation-delay: 0.65s; }
.mt-workspace-row-load:nth-child(3) { animation-delay: 0.8s; }
.mt-workspace-row-load:nth-child(4) { animation-delay: 0.95s; }
.mt-workspace-row-load:nth-child(5) { animation-delay: 1.1s; }

@keyframes mt-row-in {
  to { opacity: 1; transform: translateX(0); }
}

@keyframes mt-scene-float-1 {
  0%, 100% { transform: translateY(0px) rotate(3deg); }
  50% { transform: translateY(-8px) rotate(3deg); }
}

@keyframes mt-scene-float-2 {
  0%, 100% { transform: translateY(0px) rotate(-2deg); }
  50% { transform: translateY(-10px) rotate(-2deg); }
}

@keyframes mt-scene-float-3 {
  0%, 100% { transform: translateY(0px) rotate(-4deg); }
  50% { transform: translateY(-6px) rotate(-4deg); }
}

@keyframes mt-scene-float-4 {
  0%, 100% { transform: translateY(0px) rotate(-2deg); }
  50% { transform: translateY(-12px) rotate(-2deg); }
}

@keyframes mt-scene-float-5 {
  0%, 100% { transform: translateY(0px) rotate(2deg); }
  50% { transform: translateY(-9px) rotate(2deg); }
}

@keyframes mt-orbit-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes mt-orbit-rotate-reverse {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(-360deg); }
}

@keyframes mt-chip-float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-6px); }
}

.mt-scene-float-1 { animation: mt-scene-float-1 4.5s ease-in-out infinite; }
.mt-scene-float-2 { animation: mt-scene-float-2 5.2s ease-in-out infinite; }
.mt-scene-float-3 { animation: mt-scene-float-3 3.8s ease-in-out infinite; }
.mt-scene-float-4 { animation: mt-scene-float-4 4.8s ease-in-out infinite; }
.mt-scene-float-5 { animation: mt-scene-float-5 5.5s ease-in-out infinite; }

.mt-orbit-ring-a { animation: mt-orbit-rotate 20s linear infinite; }
.mt-orbit-ring-b { animation: mt-orbit-rotate-reverse 25s linear infinite; }
.mt-chip-float { animation: mt-chip-float 3s ease-in-out infinite; }
.mt-chip-float:nth-child(2) { animation-delay: 0.5s; }
.mt-chip-float:nth-child(3) { animation-delay: 1s; }

.mt-nav-link {
  position: relative;
}

.mt-nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -13px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--fx-purple, #8c5cff), var(--fx-blue, #4b9dff));
  box-shadow: 0 0 20px rgba(75, 157, 255, 0.45);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.mt-nav-link:hover::after,
.mt-nav-link.is-active::after {
  transform: scaleX(1);
}

.mt-cta-hover {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}

.mt-cta-hover:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 18px 42px rgba(74, 112, 255, 0.42), 0 0 30px rgba(140, 92, 255, 0.2);
}

@media (prefers-reduced-motion: reduce) {
  .mt-scene-float-1,
  .mt-scene-float-2,
  .mt-scene-float-3,
  .mt-scene-float-4,
  .mt-scene-float-5,
  .mt-orbit-ring-a,
  .mt-orbit-ring-b,
  .mt-chip-float {
    animation: none;
  }
}
  .mt-reveal,
  .mt-reveal-left,
  .mt-reveal-right,
  .mt-reveal-scale,
  .mt-stagger > * {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .mt-float-a,
  .mt-float-b,
  .mt-float-c,
  .mt-float-d,
  .mt-float-e,
  .mt-signal-burst-animated span,
  .mt-gradient-text-animated,
  .mt-glow-pulse,
  .mt-connector-animated::after {
    animation: none;
  }

  .mt-scan-line::after {
    animation: none;
    display: none;
  }

  .mt-hero-load,
  .mt-hero-copy-load,
  .mt-workspace-row-load {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
