.timeline { background: var(--cloud); }
.timeline__headline { font-size: 30px; margin-bottom: 40px; color: var(--horizon-blue); }
.timeline__lista { list-style: none; display: flex; flex-direction: column; gap: 16px; }
.timeline__passo {
  display: flex;
  background: var(--white);
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(15,42,82,.08);
  overflow: hidden;
  cursor: pointer;
}
.timeline__numero {
  flex-shrink: 0;
  width: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-family: var(--ff-sans);
  font-weight: 700;
  font-size: 15px;
  position: relative;
}
.timeline__passo:nth-child(odd) .timeline__numero {
  background: linear-gradient(180deg, var(--horizon-blue), var(--horizon-deep));
}
.timeline__passo:nth-child(even) .timeline__numero {
  background: linear-gradient(180deg, var(--horizon-glow), var(--horizon-glow-d));
  color: var(--horizon-deep);
}
.timeline__numero::after {
  content: '';
  position: absolute;
  right: -6px;
  top: 50%;
  width: 12px;
  height: 12px;
  background: var(--white);
  border-radius: 50%;
  transform: translateY(-50%);
}
.timeline__conteudo { padding: 20px 22px; flex: 1; min-width: 0; }
.timeline__cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.timeline__conteudo h3 { font-size: 17px; color: var(--horizon-blue); }
.timeline__seta { flex-shrink: 0; color: var(--muted); transition: transform var(--dur-med) var(--ease-out); }
.timeline__passo.is-open .timeline__seta { transform: rotate(180deg); }
.timeline__corpo {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--dur-med) var(--ease-out);
}
.timeline__passo.is-open .timeline__corpo { max-height: 600px; margin-top: 8px; }
.timeline__corpo p { color: var(--muted); margin-bottom: 10px; font-size: 14px; line-height: 1.6; }
.timeline__corpo p:last-child { margin-bottom: 0; }
