.page-header{margin-bottom:2.5rem}
.timeline{position:relative;display:flex;flex-direction:column;gap:0;padding-left:.5rem}
.timeline::before{content:'';position:absolute;left:6.5rem;top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(180deg, rgba(0,215,160,0.35), rgba(0,215,160,0.08));border-radius:2px}
.tl-item{position:relative;display:flex;align-items:center;padding:.85rem 0}
.tl-year{width:5rem;flex-shrink:0;text-align:right;padding-right:1.5rem;font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary);letter-spacing:.04em}
.tl-mid{position:relative;width:3rem;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.25rem;z-index:2}
.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(0,215,160,0.12),0 0 16px rgba(0,215,160,0.4);flex-shrink:0}
.tl-age{font-size:.62rem;font-weight:700;color:var(--text-muted);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.tl-card{flex:1;padding-left:1.5rem;min-width:0}
.tl-card-content{
display:inline-block;
padding:.7rem 1.2rem;
transition:.25s ease;
}
.tl-card-content:hover{border-color:rgba(0,215,160,0.36);transform:translateX(4px);box-shadow:0 10px 30px rgba(0,0,0,0.25),0 0 20px rgba(0,215,160,0.06)}
.tl-event{font-size:.9rem;font-weight:500;color:var(--text);letter-spacing:.02em;line-height:1.5}
@media(max-width:640px){
.timeline-page{padding-top:1rem}
.timeline::before{left:4rem}
.tl-item{padding:.7rem 0}
.tl-year{width:3rem;font-size:.75rem;padding-right:.8rem}
.tl-mid{width:2rem}
.tl-dot{width:10px;height:10px}
.tl-age{font-size:.55rem}
.tl-card{padding-left:.8rem}
.tl-card-content{padding:.55rem .9rem}
.tl-event{font-size:.82rem}
}
