:root {
  --valdan-black: #0d0d0d;
  --valdan-bg: #fafafa;
  --valdan-accent: #2563eb;
  --valdan-muted: #64748b;
}

* {
  box-sizing: border-box;
}

body {
  font-family: "Source Sans 3", system-ui, -apple-system, sans-serif;
  color: var(--valdan-black);
  background: var(--valdan-bg);
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: "Source Serif 4", "Iowan Old Style", serif;
  letter-spacing: -0.02em;
}

.hero-industry {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
}

.fade-text {
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.fade-text.is-fading {
  opacity: 0;
  transform: translateY(6px);
}

.card-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08);
}

.filter-button.active {
  background: var(--valdan-black);
  color: white;
}

.text-accent {
  color: var(--valdan-accent);
}

.link-underline {
  background-image: linear-gradient(120deg, rgba(37, 99, 235, 0.2), rgba(37, 99, 235, 0.2));
  background-repeat: no-repeat;
  background-size: 100% 0.3em;
  background-position: 0 90%;
}

.section-divider {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}

@media (max-width: 768px) {
  .hero-industry {
    min-height: 2.25rem;
  }
}
