.timeline-hero{background:linear-gradient(90deg,rgba(7,7,5,.96),rgba(7,7,5,.7)),url('assets/lumen-spiral.png') center/cover;color:var(--paper);padding:clamp(6rem,11vw,11rem) clamp(1.2rem,8vw,9rem)}
.timeline-hero h1{font:500 clamp(3.4rem,8vw,8rem)/.88 var(--serif);letter-spacing:-.045em;margin:1.6rem 0;max-width:1200px}.timeline-hero h1 em{color:#e1bc72;font-weight:500}.timeline-hero>p:not(.eyebrow){max-width:700px;color:#c2beb3;font-size:1.05rem}.timeline-hero .eyebrow{color:var(--gold)}
.timeline-legend{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2.5rem;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.timeline-legend>span{display:flex;align-items:center;gap:.55rem}.dot{width:9px;height:9px;border-radius:50%;background:var(--gold);display:inline-block}.dot.approximate{background:transparent;border:1px solid var(--gold)}
.timeline-index{padding:2rem clamp(1.2rem,8vw,9rem);background:var(--deep);color:#aaa79d;border-top:1px solid rgba(255,255,255,.12)}.timeline-index>div{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.7rem 0}.timeline-index strong{color:var(--gold);min-width:245px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.timeline-index a{font-size:.75rem;text-underline-offset:4px}
.timeline-group{padding:clamp(5rem,9vw,9rem) clamp(1.2rem,8vw,9rem)}.timeline-group>header{max-width:860px;margin-bottom:6rem}.timeline-group>header>p:first-child{color:var(--gold);font-size:.7rem;letter-spacing:.2em}.timeline-group>header h2,.source-section h2{font:500 clamp(3rem,6vw,6rem)/.92 var(--serif);letter-spacing:-.04em;margin:1rem 0}.timeline-group>header>p:last-child{color:var(--muted);max-width:650px}.timeline-group.esoteric{background:var(--deep);color:var(--paper)}.timeline-group.esoteric>header>p:last-child{color:#aaa79d}
.timeline{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.8fr);gap:clamp(2rem,6vw,7rem);padding:5rem 0;scroll-margin-top:110px;border-top:1px solid var(--line)}.esoteric .timeline{border-color:rgba(255,255,255,.15)}.timeline-title{display:flex;gap:1.2rem;position:sticky;top:125px;align-self:start}.timeline-title>span{font-size:.7rem;color:var(--gold);margin-top:.55rem}.timeline-title h3{font:600 clamp(2rem,3vw,3.5rem)/1 var(--serif);margin:0 0 .8rem}.timeline-title p{font-size:.85rem;color:var(--muted);max-width:310px}.esoteric .timeline-title p{color:#99968d}
.timeline ol{list-style:none;padding:0;margin:0;position:relative}.timeline ol:before{content:"";position:absolute;left:112px;top:9px;bottom:9px;width:1px;background:var(--line)}.esoteric .timeline ol:before{background:rgba(255,255,255,.17)}.timeline li{display:grid;grid-template-columns:93px 1fr;gap:40px;min-height:108px;position:relative}.timeline li:after{content:"";position:absolute;left:108px;top:7px;width:9px;height:9px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 5px var(--paper)}.esoteric .timeline li:after{box-shadow:0 0 0 5px var(--deep)}.timeline li.approx:after{background:var(--paper);border:1px solid var(--gold)}.esoteric .timeline li.approx:after{background:var(--deep)}.timeline time{font-size:.72rem;line-height:1.3;color:var(--gold);text-align:right}.timeline li p{margin:0 0 2rem;font-family:var(--serif);font-size:1.22rem;line-height:1.35}
.source-section{padding:clamp(6rem,10vw,10rem) clamp(1.2rem,8vw,9rem);background:var(--cream)}.source-section>p{max-width:800px}.source-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:3rem}.source-links a{padding:1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.78rem;text-underline-offset:4px}
@media(max-width:850px){.timeline{grid-template-columns:1fr}.timeline-title{position:static}.source-links{grid-template-columns:1fr 1fr}.timeline-index strong{width:100%;min-width:0}.timeline-group>header{margin-bottom:3rem}}
@media(max-width:580px){.timeline-hero h1{font-size:3.5rem}.timeline ol:before{left:92px}.timeline li{grid-template-columns:74px 1fr;gap:37px}.timeline li:after{left:88px}.source-links{grid-template-columns:1fr}.timeline-title p{display:block}.timeline{padding:3.5rem 0}}
