.timeline-section{position:relative;padding:120px 0;overflow:visible}.timeline-wrapper{position:relative;max-width:1100px;margin:0 auto;padding:40px 0}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--border-medium);transform:translateX(-50%);z-index:1}.timeline-fill{position:absolute;top:0;left:0;width:100%;height:0%;background:var(--primary);box-shadow:0 0 20px var(--primary);z-index:2;transition:height .1s ease-out}.timeline-row{display:grid;grid-template-columns:1fr 1fr;gap:120px;margin-bottom:180px;position:relative;z-index:5;opacity:.3;filter:blur(2px);transform:translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1)}.timeline-row.is-active{opacity:1!important;filter:blur(0)!important;transform:translateY(0)!important}.timeline-dot{position:absolute;left:50%;top:0;width:16px;height:16px;background:var(--bg-color);border:2px solid var(--timeline-dot-border);border-radius:50%;transform:translateX(-50%);z-index:10}.timeline-row.is-active .timeline-dot{background:var(--primary);border-color:var(--primary);box-shadow:0 0 10px var(--primary);transform:translateX(-50%) scale(1.3)}.placeholder-box{background:var(--card-bg);border:1px solid var(--border-medium);border-radius:16px;height:250px;display:flex;align-items:center;justify-content:center}.timeline-section .step-num{color:var(--primary);font-weight:900;font-size:.85rem;letter-spacing:.15em}.timeline-section .timeline-content h4{font-size:1.5rem;margin:8px 0 10px}.placeholder-box,.timeline-section .timeline-content p{color:var(--text-muted)}.timeline-section .badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.22em;color:var(--text-muted);padding:6px 14px;border-radius:99px;border:1px solid var(--border-soft);background:var(--surface-3);display:inline-flex;align-items:center;gap:10px}.timeline-row:nth-child(even) .timeline-content{order:2}.timeline-row:nth-child(even) .timeline-visual{order:1}@media (max-width:768px){.timeline-dot,.timeline-line{left:20px;transform:none}.timeline-row{grid-template-columns:1fr;gap:30px;padding-left:60px;text-align:left}.timeline-row:nth-child(even) .timeline-content{order:1}.timeline-row:nth-child(even) .timeline-visual{order:2}}