.company-timeline { --ct-accent: #0d6efd; --ct-line: rgba(128,128,128,.35); --ct-card-bg: rgba(128,128,128,.08); margin: 1.5rem 0; }
.company-timeline__intro { max-width: 720px; margin: 0 auto 2rem; text-align: center; }
.company-timeline__list { list-style: none; margin: 0; padding: 0; position: relative; }
.company-timeline__list::before { content: ""; position: absolute; top: 0; bottom: 0; left: 12px; width: 3px; background: var(--ct-line); border-radius: 2px; }
.company-timeline__item { position: relative; padding: 0 0 2rem 42px; }
.company-timeline__dot { position: absolute; left: 3px; top: 1.1rem; width: 21px; height: 21px; border-radius: 50%; background: var(--ct-accent); border: 4px solid Canvas; box-shadow: 0 0 0 2px var(--ct-accent); }
.company-timeline__card { background: var(--ct-card-bg); border-left: 4px solid var(--ct-accent); border-radius: 8px; padding: 1rem 1.25rem; }
.company-timeline__year { display: inline-block; background: var(--ct-accent); color: #fff; font-weight: 700; font-size: .85rem; padding: .15rem .7rem; border-radius: 999px; margin-bottom: .5rem; }
.company-timeline__title { margin: 0 0 .5rem; font-size: 1.15rem; }
.company-timeline__image { display: block; max-width: 100%; height: auto; border-radius: 6px; margin: .5rem 0; }
.company-timeline__text { line-height: 1.6; }

@media (min-width: 768px) {
    .company-timeline.is-alternate .company-timeline__list::before { left: 50%; margin-left: -1.5px; }
    .company-timeline.is-alternate .company-timeline__item { width: 50%; padding: 0 2.5rem 2.5rem 0; }
    .company-timeline.is-alternate .company-timeline__item:nth-child(even) { margin-left: 50%; padding: 0 0 2.5rem 2.5rem; }
    .company-timeline.is-alternate .company-timeline__dot { left: auto; right: -10px; }
    .company-timeline.is-alternate .company-timeline__item:nth-child(even) .company-timeline__dot { right: auto; left: -11px; }
    .company-timeline.is-alternate .company-timeline__item:nth-child(odd) .company-timeline__card { border-left: 0; border-right: 4px solid var(--ct-accent); text-align: right; }
}
