.timeline{gap:var(--space-7);padding-left:2.25rem;display:grid;position:relative}.timeline:before{content:"";background:var(--accent-strong);opacity:.55;width:1px;position:absolute;top:.5rem;bottom:.5rem;left:.4rem}.timeline__item{min-width:0;position:relative}.timeline__item:before{content:"";border:2px solid var(--accent-strong);background:var(--bg);width:.85rem;height:.85rem;box-shadow:inset 0 0 0 2px var(--bg), inset 0 0 0 6px var(--text);border-radius:50%;position:absolute;top:.45rem;left:-2.25rem}.timeline__badge{background:var(--surface-2);color:var(--text-2);text-align:center;white-space:nowrap;border-radius:6px;justify-items:center;padding:.3rem .75rem;font-size:.6875rem;font-weight:600;line-height:1.35;display:inline-grid}.timeline__badge[data-current=true]{background:var(--accent-wash);color:var(--accent)}@media (max-width:640px){.timeline{padding-left:1.75rem}.timeline__item:before{left:-1.75rem}}
.experience{gap:var(--space-4);min-width:0;display:grid}.experience__header{align-items:start;gap:var(--space-4);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.experience__header:not(:has(.experience__logo)){grid-template-columns:minmax(0,1fr) auto}.experience__logo{object-fit:contain;width:3rem;height:3rem;padding:var(--space-1);border:1px solid var(--border);background:#fff;border-radius:8px}.experience__org{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.015em;font-weight:450;line-height:1.15}.experience__role{color:var(--text-2);margin-top:.15rem}.experience__meta{font-size:var(--text-sm);color:var(--muted);margin-top:.15rem}.experience__overview{max-width:70ch;color:var(--text-2)}.experience__block{gap:var(--space-2);max-width:74ch;display:grid}.experience__subheading{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.6875rem;font-weight:600}.experience__links{gap:var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.experience__links a{align-items:center;gap:var(--space-2);display:inline-flex}@media (max-width:560px){:is(.experience__header,.experience__header:not(:has(.experience__logo))){grid-template-columns:minmax(0,1fr)}.timeline__badge{justify-self:start}}
