html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

body {
  background: #0b3c55;
  font-family: Arial, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
}

.container {
  perspective: 1000px;
  transform-style: preserve-3d;
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

svg {
  position: absolute;
  width: 90%;
  height: 90%;
  transform-style: preserve-3d;
  transition: transform 0.1s ease;
}

.text--line {
  font-size: 12em;
  font-weight: 900;
  dominant-baseline: middle; /* Ensure vertical centering */
}

/* Base layer that's always visible with brighter blue */
.text-copy.base {
  fill: none;
  stroke: #0e4d6d; /* Darker blue color as requested */
  stroke-width: 6px;
  stroke-linejoin: round;
  stroke-linecap: round;
  stroke-dasharray: none; /* Remove stroke-dasharray */
  animation: none; /* Remove animation */
}

/* Animated layers */
.text-copy:not(.base) {
  fill: none;
  stroke-width: 6px;
  stroke-linejoin: round;
  stroke-linecap: round;
  stroke-dasharray: 7% 28%;
  animation: stroke-offset 5s infinite linear;
}

.g-ants .text-copy:nth-child(1) {
  stroke: #360745;
  stroke-dashoffset: 7%;
}

.g-ants .text-copy:nth-child(2) {
  stroke: #f73978;
  stroke-dashoffset: 14%;
}

.g-ants .text-copy:nth-child(3) {
  stroke: #E7D84B;
  stroke-dashoffset: 21%;
}

.g-ants .text-copy:nth-child(4) {
  stroke: #EFEAC5;
  stroke-dashoffset: 28%;
}

.g-ants .text-copy:nth-child(5) {
  stroke: #27aabe;
  stroke-dashoffset: 35%;
}

@keyframes stroke-offset {
  50% {
      stroke-dashoffset: 35%;
      stroke-dasharray: 0 87.5%;
  }
}

.highlight {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(
      circle at var(--mouse-x, 50%) var(--mouse-y, 50%),
      rgba(255, 255, 255, 0.5) 0%,
      transparent 25%  /* Smaller radius - from 50% to 25% */
  );
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: overlay;
  opacity: 0; /* Start with highlight hidden */
  transition: opacity 0.3s ease; /* Smooth transition for appearing/disappearing */
}