/* Experience timeline — scoped to the Companies landing page. */
.experience-page .page-hero { margin-bottom: 2.8rem; }
.career-timeline { position: relative; display: grid; gap: 1.25rem; }
.career-timeline::before { content: ""; position: absolute; top: 1.45rem; bottom: 1.45rem; left: 1.05rem; width: 2px; background: linear-gradient(var(--color-accent), rgba(37, 99, 235, .14)); }
.timeline-item { position: relative; display: grid; grid-template-columns: 2.15rem minmax(0, 1fr); gap: .8rem; }
.timeline-marker { position: relative; z-index: 1; width: 1.1rem; height: 1.1rem; margin-top: 1.25rem; border: 3px solid var(--color-bg); border-radius: 50%; background: var(--color-accent); box-shadow: 0 0 0 2px var(--color-accent-soft); }
.timeline-card { display: block; padding: 1.15rem; border: 1px solid rgba(148, 163, 184, .4); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-soft); transition: transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast); }
.timeline-card:hover, .timeline-card:focus-visible { transform: translateX(4px); border-color: var(--color-accent); box-shadow: 0 14px 40px rgba(15, 23, 42, .14); outline: none; }
.timeline-card:focus-visible { outline: 3px solid var(--color-accent-soft); outline-offset: 3px; }
.timeline-card-header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .45rem 1rem; margin-bottom: .35rem; }
.timeline-role { margin: 0; font-size: 1.05rem; line-height: 1.35; }.timeline-company { color: var(--color-accent); }.timeline-period { flex: 0 0 auto; font-size: .76rem; color: var(--color-text-muted); }.timeline-context { margin: 0; color: var(--color-text-muted); font-size: .84rem; }.timeline-metrics { display: flex; flex-wrap: wrap; gap: .35rem; margin: .8rem 0; }.timeline-metric { padding: .24rem .55rem; border-radius: var(--radius-pill); background: var(--color-accent-soft); color: var(--color-accent); font-size: .7rem; font-weight: 600; }.timeline-achievements { margin: 0; padding-left: 1.1rem; color: var(--color-text-muted); font-size: .82rem; line-height: 1.55; }.timeline-achievements li + li { margin-top: .3rem; }.timeline-cta { display: inline-block; margin-top: .8rem; color: var(--color-accent); font-size: .75rem; font-weight: 600; }
@media (min-width: 768px) { .career-timeline { gap: 1.6rem; }.career-timeline::before { left: 1.3rem; }.timeline-item { grid-template-columns: 2.65rem minmax(0, 1fr); gap: 1rem; }.timeline-marker { width: 1.25rem; height: 1.25rem; margin-top: 1.35rem; }.timeline-card { padding: 1.3rem; } }
@media (max-width: 480px) { .experience-page .section-header { display: block; }.timeline-card-header { display: block; }.timeline-period { display: block; margin-top: .35rem; }.timeline-card { padding: 1rem; } }
