/* ── TIMELINE ── */
.timeline{position:relative;padding:2rem 0;margin-top:2rem}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--brand-500),var(--brand-700),var(--surface-300));transform:translateX(-50%)}
.timeline-item{position:relative;width:50%;padding:0 3rem 3rem}
.timeline-item:nth-child(odd){margin-left:0;text-align:right;padding-right:3rem;padding-left:0}
.timeline-item:nth-child(even){margin-left:50%;text-align:left;padding-left:3rem;padding-right:0}
.timeline-dot{position:absolute;top:0;width:16px;height:16px;border-radius:50%;border:3px solid var(--brand-500);background:var(--surface-0)}
.timeline-item:nth-child(odd) .timeline-dot{right:-8px}
.timeline-item:nth-child(even) .timeline-dot{left:-8px}
.timeline-dot.active{background:var(--brand-500);box-shadow:0 0 12px rgba(20,184,166,0.4)}
.timeline-phase{font-family:'JetBrains Mono',monospace;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-400);margin-bottom:.5rem}
.timeline-item h4{font-size:1.125rem;font-weight:700;color:var(--surface-900);margin-bottom:.5rem}
.timeline-item p{font-size:.8125rem;color:var(--surface-500);line-height:1.6}
.timeline-milestone{display:inline-block;font-size:.75rem;padding:.25rem .625rem;border-radius:.25rem;background:rgba(20,184,166,0.1);color:var(--brand-400);font-weight:600;margin-top:.5rem}
.timeline-current{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;padding:.25rem .75rem;border-radius:9999px;background:rgba(20,184,166,0.15);color:var(--brand-400);font-weight:600;margin-bottom:1rem}
.timeline-current::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--brand-400);animation:pulse-dot 2s ease-in-out infinite}

@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}

@media(max-width:768px){
  .timeline::before{left:20px}
  .timeline-item,.timeline-item:nth-child(odd),.timeline-item:nth-child(even){width:100%;margin-left:0;text-align:left;padding-left:3rem;padding-right:0}
  .timeline-item:nth-child(odd) .timeline-dot,.timeline-item:nth-child(even) .timeline-dot{left:12px;right:auto}
}
