/* CAREER PAGE */
.timeline-legend { display: flex; gap: 2rem; margin-bottom: 3rem; flex-wrap: wrap; }
.legend-item { display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--text-secondary); }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; }

.timeline { position: relative; display: flex; flex-direction: column; gap: 0; }

.tl-item { display: grid; grid-template-columns: 60px 1fr; gap: 1.5rem; position: relative; }

.tl-connector { display: flex; flex-direction: column; align-items: center; }

.tl-dot {
  width: 20px; height: 20px; border-radius: 50%;
  border: 3px solid; flex-shrink: 0; position: relative; z-index: 1;
  box-shadow: 0 0 12px currentColor;
  animation: dotPulse 2s ease-in-out infinite;
}

@keyframes dotPulse {
  0%,100% { box-shadow: 0 0 8px currentColor; }
  50% { box-shadow: 0 0 20px currentColor; }
}

.tl-dot-design { border-color: var(--neon-blue); background: rgba(0,212,255,.2); color: var(--neon-blue); }
.tl-dot-medical { border-color: var(--neon-purple); background: rgba(124,58,237,.2); color: var(--neon-purple); }
.tl-dot-voice { border-color: var(--neon-cyan); background: rgba(34,211,238,.2); color: var(--neon-cyan); }

.tl-line { width: 2px; flex: 1; min-height: 40px; background: linear-gradient(to bottom, var(--glass-border), transparent); margin-top: 4px; }

.tl-card { padding: 1.75rem; margin-bottom: 1.5rem; transition: var(--transition); }
.tl-card:hover { transform: translateX(4px); }

.tl-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }

.tl-year { font-size: .75rem; color: var(--neon-blue); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .3rem; }

.tl-role { font-size: 1.1rem; font-weight: 700; margin-bottom: .3rem; }

.tl-org { font-size: .85rem; color: var(--text-muted); display: flex; align-items: center; gap: .4rem; }

.tl-badges { display: flex; flex-direction: column; gap: .4rem; align-items: flex-end; flex-shrink: 0; }

.current-badge { padding: .25rem .8rem; background: rgba(16,185,129,.15); color: #10B981; border: 1px solid rgba(16,185,129,.3); border-radius: 50px; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }

.tl-desc { font-size: .88rem; line-height: 1.7; }

.tl-achievements { display: flex; gap: 1rem; margin-top: 1rem; flex-wrap: wrap; }
.tl-ach { display: flex; align-items: center; gap: .5rem; font-size: .8rem; color: var(--text-secondary); }
.tl-ach i { color: var(--neon-blue); }

@media (max-width: 768px) {
  .tl-item { grid-template-columns: 40px 1fr; gap: 1rem; }
  .timeline-legend { gap: 1rem; }
}
