.es-timeline{--tl-marker:56px;grid-template-columns:repeat(var(--tl-cols,3), 1fr);gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid;position:relative}.es-timeline:before{content:"";top:calc(var(--tl-marker) / 2 - 1px);left:calc(50% / var(--tl-cols,3));right:calc(50% / var(--tl-cols,3));background:repeating-linear-gradient(90deg, var(--color-brand) 0 3px, transparent 3px 12px);opacity:.55;height:2px;animation:1.4s linear infinite es-tl-flow;position:absolute}.es-timeline__step{text-align:center;position:relative}.es-timeline__marker{z-index:1;width:var(--tl-marker);height:var(--tl-marker);background:radial-gradient(circle at 50% 35%, var(--color-surface) 0%, var(--color-surface-2) 100%);border:1px solid var(--color-border);box-shadow:0 0 0 6px var(--color-bg), 0 6px 16px var(--color-ring);margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;transition:transform .18s,box-shadow .18s;display:inline-flex;position:relative}.es-timeline__step:hover .es-timeline__marker{box-shadow:0 0 0 6px var(--color-bg), 0 8px 22px var(--color-ring);transform:translateY(-2px)}.es-timeline__num{font-family:var(--font-display);color:var(--color-brand);font-size:1.375rem;font-weight:700;line-height:1}.es-timeline__title{letter-spacing:-.01em;color:var(--color-fg);margin:0 0 var(--space-2);font-size:1.125rem;font-weight:700;line-height:1.25}.es-timeline__text{font-size:var(--text-base);color:var(--color-fg-muted);max-width:34ch;margin:0 auto;line-height:1.6}@keyframes es-tl-flow{to{background-position:12px 0}}@media (max-width:767px){.es-timeline{gap:var(--space-6);grid-template-columns:1fr}.es-timeline:before{top:calc(var(--tl-marker) / 2);bottom:calc(var(--tl-marker) / 2);left:calc(var(--tl-marker) / 2 - 1px);background:repeating-linear-gradient(180deg, var(--color-brand) 0 3px, transparent 3px 12px);width:2px;height:auto;animation:1.4s linear infinite es-tl-flow-y;right:auto}.es-timeline__step{grid-template-columns:var(--tl-marker) 1fr;gap:var(--space-4);text-align:left;align-items:start;display:grid}.es-timeline__marker{margin-bottom:0}.es-timeline__text{margin:0}}@keyframes es-tl-flow-y{to{background-position:0 12px}}
