/* Hero background grid — dark dots on white */
.hero-grid {
  background-image: radial-gradient(rgba(0, 0, 0, 0.06) 1px, transparent 1px);
  background-size: 28px 28px;
}

/* Hero spotlight overlay — soft blue wash from top */
.hero-spotlight {
  position: relative;
}
.hero-spotlight::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse 70% 40% at 50% 0%,
    rgba(59, 130, 246, 0.07),
    transparent 70%
  );
  pointer-events: none;
}

/* Hero content fade-in */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-content > * {
  opacity: 0;
  animation: fadeIn 0.7s ease forwards;
}
.hero-content > *:nth-child(1) { animation-delay: 0s; }
.hero-content > *:nth-child(2) { animation-delay: 0.1s; }
.hero-content > *:nth-child(3) { animation-delay: 0.2s; }
.hero-content > *:nth-child(4) { animation-delay: 0.3s; }
.hero-content > *:nth-child(5) { animation-delay: 0.4s; }

/* Capabilities list rows */
.capability-row {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 1.5rem;
  padding: 14px 0;
  border-top: 1px solid #f3f4f6;
  align-items: baseline;
}

/* Experience role blocks */
.role-block {
  padding: 2rem 0;
  border-top: 1px solid #f3f4f6;
}
.role-block:first-of-type {
  border-top: none;
  padding-top: 0;
}
