.plano-timeline{isolation:isolate;grid-auto-rows:1fr;display:grid;position:relative}.plano-timeline-track{top:10px;bottom:calc(100% / var(--plano-count,5) - 10px);background:var(--border);z-index:-1;overflow-clip-margin:16px;width:2px;position:absolute;left:10px;overflow:clip}.plano-timeline-fill,.plano-timeline-traveler{position:absolute;inset:0}.plano-timeline-fill{background:var(--brand);transform-origin:top}.plano-timeline-light{background:var(--brand);width:14px;height:14px;box-shadow:0 0 12px 4px color-mix(in oklch, var(--brand) 35%, transparent);opacity:0;border-radius:50%;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.plano-timeline-stage{--arrival:0s;min-width:0;padding:0 0 32px 40px;position:relative}.plano-timeline-stage:nth-of-type(2){--arrival:.866s}.plano-timeline-stage:nth-of-type(3){--arrival:1.25s}.plano-timeline-stage:nth-of-type(4){--arrival:1.634s}.plano-timeline-stage:nth-of-type(5){--arrival:2.5s}.plano-timeline[data-count="6"] .plano-timeline-stage:nth-of-type(2){--arrival:.5s}.plano-timeline[data-count="6"] .plano-timeline-stage:nth-of-type(3){--arrival:1s}.plano-timeline[data-count="6"] .plano-timeline-stage:nth-of-type(4){--arrival:1.5s}.plano-timeline[data-count="6"] .plano-timeline-stage:nth-of-type(5){--arrival:2s}.plano-timeline[data-count="6"] .plano-timeline-stage:nth-of-type(6){--arrival:2.5s}.plano-timeline-dot{border:2px solid var(--brand);background:var(--brand);border-radius:50%;width:20px;height:20px;position:absolute;top:0;left:1px}.plano-timeline-heading{min-height:80px}.plano-timeline-tags{gap:8px;display:grid}.plano-timeline-tag{border:1px solid var(--border);background:var(--brand-soft);height:64px;color:var(--brand-deep);border-radius:8px;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;line-height:1.5;display:flex}.plano-timeline-badge{color:var(--brand-deep);margin-top:8px;font-size:12px;font-weight:600;display:inline-flex}.plano-timeline[data-state=pending] .plano-timeline-fill,.plano-timeline[data-state=running] .plano-timeline-fill{transform:scaleY(0)}.plano-timeline[data-state=pending] .plano-timeline-dot,.plano-timeline[data-state=running] .plano-timeline-dot{background:var(--border);border-color:var(--border)}.plano-timeline[data-state=pending] h3,.plano-timeline[data-state=pending] .plano-timeline-tag,.plano-timeline[data-state=running] h3,.plano-timeline[data-state=running] .plano-timeline-tag{opacity:.25}.plano-timeline[data-state=pending] .plano-timeline-badge,.plano-timeline[data-state=running] .plano-timeline-badge{opacity:0}.plano-timeline[data-state=running] .plano-timeline-fill{animation:2.5s ease-in-out forwards plano-fill-y}.plano-timeline[data-state=running] .plano-timeline-traveler{animation:2.5s ease-in-out forwards plano-travel-y}.plano-timeline[data-state=running] .plano-timeline-light{animation:2.5s linear forwards plano-light}.plano-timeline[data-state=running] .plano-timeline-dot{animation:plano-dot .36s ease-out var(--arrival) forwards}.plano-timeline[data-state=running] h3{animation:plano-reveal .3s ease-out var(--arrival) forwards}.plano-timeline[data-state=running] .plano-timeline-tag{animation:plano-reveal .35s ease-out calc(var(--arrival) + .1s) forwards}.plano-timeline[data-state=running] .plano-timeline-tag:nth-child(2){animation-delay:calc(var(--arrival) + .19s)}.plano-timeline[data-state=running] .plano-timeline-tag:nth-child(3){animation-delay:calc(var(--arrival) + .28s)}.plano-timeline[data-state=running] .plano-timeline-badge{animation:.35s ease-out 2.85s forwards plano-badge}@keyframes plano-fill-y{to{transform:scaleY(1)}}@keyframes plano-fill-x{to{transform:scaleX(1)}}@keyframes plano-travel-y{to{transform:translateY(100%)}}@keyframes plano-travel-x{to{transform:translate(100%)}}@keyframes plano-light{0%,96%{opacity:1}to{opacity:0}}@keyframes plano-dot{0%{background:var(--brand);border-color:var(--brand);transform:scale(1)}50%{background:var(--brand);border-color:var(--brand);transform:scale(1.3)}to{background:var(--brand);border-color:var(--brand);transform:scale(1)}}@keyframes plano-reveal{0%{transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes plano-badge{0%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.plano-timeline[data-state=scroll] .plano-timeline-fill{transform:scaleY(var(--plano-progress,0))}.plano-timeline[data-state=scroll] .plano-timeline-traveler{transform:translateY(calc(var(--plano-progress,0) * 100%))}.plano-timeline[data-state=scroll] .plano-timeline-light{opacity:1}.plano-timeline[data-state=scroll] .plano-timeline-stage:not([data-lit]) .plano-timeline-dot{background:var(--border);border-color:var(--border)}.plano-timeline[data-state=scroll] .plano-timeline-stage:not([data-lit]) h3,.plano-timeline[data-state=scroll] .plano-timeline-stage:not([data-lit]) .plano-timeline-tag{opacity:.25}.plano-timeline[data-state=scroll] .plano-timeline-badge{opacity:0}.plano-timeline[data-state=scroll] [data-lit] .plano-timeline-dot{animation:.36s ease-out forwards plano-dot}.plano-timeline[data-state=scroll] [data-lit] h3{opacity:.25;animation:.3s ease-out forwards plano-reveal}.plano-timeline[data-state=scroll] [data-lit] .plano-timeline-tag{opacity:.25;animation:.35s ease-out .1s forwards plano-reveal}.plano-timeline[data-state=scroll] [data-lit] .plano-timeline-tag:nth-child(2){animation-delay:.19s}.plano-timeline[data-state=scroll] [data-lit] .plano-timeline-tag:nth-child(3){animation-delay:.28s}.plano-timeline[data-state=scroll] [data-lit] .plano-timeline-badge{animation:.35s ease-out .3s forwards plano-badge}@media (width>=1024px){.plano-timeline{grid-template-columns:repeat(var(--plano-count,5), minmax(0, 1fr));grid-auto-rows:auto}.plano-timeline-track{top:9px;bottom:auto;left:11px;right:calc(100% / var(--plano-count,5) - 11px);width:auto;height:2px}.plano-timeline-stage{padding:40px 16px 0 0}.plano-timeline-fill{transform-origin:0}.plano-timeline-light{top:50%;left:0}.plano-timeline[data-state=pending] .plano-timeline-fill,.plano-timeline[data-state=running] .plano-timeline-fill{transform:scaleX(0)}.plano-timeline[data-state=running] .plano-timeline-fill{animation-name:plano-fill-x}.plano-timeline[data-state=running] .plano-timeline-traveler{animation-name:plano-travel-x}}@media (prefers-reduced-motion:reduce){.plano-timeline[data-state] .plano-timeline-fill{animation:none;transform:none}.plano-timeline[data-state] .plano-timeline-traveler{animation:none;display:none}.plano-timeline[data-state] .plano-timeline-dot{background:var(--brand);border-color:var(--brand);animation:none;transform:none}.plano-timeline[data-state] h3,.plano-timeline[data-state] .plano-timeline-tag,.plano-timeline[data-state] .plano-timeline-badge{opacity:1;animation:none;transform:none}}
