:root {
  --hero-brand-main-size: clamp(2rem, 5vw, 3.5rem);
  --hero-brand-gap: 0.35rem;
  --hero-brand-letter-spacing: 0.025em;
  --hero-brand-sub-color: var(--nvidia-green-light);
  --hero-brand-glow-color: rgba(118, 185, 0, 0.22);
  --hero-brand-glow-speed: 5.2s;
  --hero-brand-float-speed: 4.2s;
  --hero-brand-float-distance: 3px;
}

.hero-brand-title {
  display: inline-flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--hero-brand-gap);
  text-transform: uppercase;
  letter-spacing: var(--hero-brand-letter-spacing);
  line-height: 1.05;
  margin-bottom: 14px;
}

.hero-brand-line {
  display: inline-flex;
  align-items: baseline;
  gap: 0.45rem;
}

.hero-brand-line--single {
  font-size: var(--hero-brand-main-size);
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 0 0 rgba(0, 0, 0, 0), 0 0 14px transparent;
  animation: heroBrandGlow var(--hero-brand-glow-speed) ease-in-out infinite;
}

.hero-brand-main {
  color: #ffffff;
}

.hero-brand-marker {
  color: var(--hero-brand-sub-color);
  font-size: 0.26em;
  transform: translateY(-0.24em);
  opacity: 0.95;
}

.hero-brand-studio {
  color: var(--hero-brand-sub-color);
  font-weight: 600;
  font-size: 0.5em;
  letter-spacing: 0.06em;
  animation: heroBrandFloat var(--hero-brand-float-speed) ease-in-out infinite;
}

#heroSection[data-hero-enabled="0"] .hero-brand-line--single,
#heroSection[data-hero-enabled="0"] .hero-brand-studio {
  animation: none !important;
}

#heroSection[data-hero-preset="none"] .hero-brand-line--single,
#heroSection[data-hero-preset="none"] .hero-brand-studio {
  animation: none !important;
}

#heroSection[data-hero-preset="glow"] .hero-brand-studio {
  animation: none;
}

#heroSection[data-hero-preset="float"] .hero-brand-line--single {
  animation: none;
}

#heroSection[data-hero-preset="pulse"] .hero-brand-line--single {
  animation: heroBrandPulse calc(var(--hero-brand-glow-speed) * 0.7) ease-in-out infinite;
}

#heroSection[data-hero-preset="pulse"] .hero-brand-studio {
  animation: none;
}

#heroSection[data-hero-mode="once"] .hero-brand-line--single,
#heroSection[data-hero-mode="once"] .hero-brand-studio {
  animation-iteration-count: 1;
  animation-fill-mode: both;
}

#heroSection[data-hero-mode="hover"] .hero-brand-line--single,
#heroSection[data-hero-mode="hover"] .hero-brand-studio {
  animation-play-state: paused;
}

#heroSection[data-hero-mode="hover"]:hover .hero-brand-line--single,
#heroSection[data-hero-mode="hover"]:hover .hero-brand-studio {
  animation-play-state: running;
}

@keyframes heroBrandGlow {
  0%,
  100% {
    text-shadow: 0 0 0 rgba(0, 0, 0, 0), 0 0 12px transparent;
  }
  50% {
    text-shadow: 0 0 8px var(--hero-brand-glow-color), 0 0 20px rgba(118, 185, 0, 0.1);
  }
}

@keyframes heroBrandFloat {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.9;
  }
  50% {
    transform: translateY(calc(var(--hero-brand-float-distance) * -1));
    opacity: 1;
  }
}

@keyframes heroBrandPulse {
  0%,
  100% {
    transform: scale(1);
    text-shadow: 0 0 0 rgba(0, 0, 0, 0), 0 0 12px transparent;
  }
  50% {
    transform: scale(1.02);
    text-shadow: 0 0 10px var(--hero-brand-glow-color), 0 0 22px rgba(118, 185, 0, 0.12);
  }
}

@media (max-width: 768px) {
  .hero-brand-title {
    gap: 0.2rem;
  }
}
