html { font-family: 'Inter', sans-serif; }

.input-error {
  border-color: #ef4444 !important;
}

/* Nav shrink on scroll */
nav > div { transition: padding 0.3s ease; }
nav .nav-logo { transition: height 0.3s ease; }

.gradient-hero {
  background: linear-gradient(135deg, #0f172a 0%, #1e3a8a 50%, #0f172a 100%);
}
.dark .gradient-hero {
  background: linear-gradient(135deg, #020617 0%, #1e3a8a 50%, #020617 100%);
}
.card-hover {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card-hover:hover {
  transform: translateY(-4px);
}
.stat-number {
  background: linear-gradient(135deg, #3b82f6, #06b6d4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.section-divider {
  background: linear-gradient(90deg, transparent, #3b82f6, transparent);
  height: 1px;
}

/* Logo ticker */
.logos-track {
  display: flex;
  width: max-content;
  animation: ticker 30s linear infinite;
}
.logos-track:hover {
  animation-play-state: paused;
}
@keyframes ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Tech section */
.tech-tag {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  border-radius: 0.375rem;
  font-size: 0.75rem;
  font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', monospace;
  font-weight: 500;
}
.tech-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 1.0rem;
  margin: 0 0.25rem;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', monospace;
  font-weight: 500;
  color: var(--c);
  border: 1px solid color-mix(in srgb, var(--c) 30%, transparent);
  background: color-mix(in srgb, var(--c) 10%, transparent);
  white-space: nowrap;
}
