.timeline-section{border-top:1px solid var(--border);background:var(--bg);position:relative;overflow:hidden}.timeline-section>.container{position:relative;z-index:1}.timeline-intro{color:var(--cream-dim);font-size:1rem;max-width:560px;margin:0 auto;text-align:center;line-height:1.8}.timeline{position:relative;max-width:1000px;margin:0 auto;padding:2rem 0 4rem}.timeline-axis{position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translate(-50%);background:linear-gradient(to bottom,transparent,var(--border-strong) 5%,var(--border-strong) 95%,transparent)}.timeline-item{position:relative;display:flex;width:50%;padding-bottom:3rem}.timeline-item.left{left:0;justify-content:flex-end;padding-right:3rem}.timeline-item.right{left:50%;justify-content:flex-start;padding-left:3rem}.timeline-dot{position:absolute;top:1.5rem;width:14px;height:14px;display:flex;align-items:center;justify-content:center}.timeline-item.left .timeline-dot{right:-7px}.timeline-item.right .timeline-dot{left:-7px}.dot-inner{display:block;width:10px;height:10px;border:1px solid var(--gold-dim);background:var(--bg);transform:rotate(45deg);transition:background .3s,border-color .3s}.timeline-item:hover .dot-inner{background:var(--gold);border-color:var(--gold)}.timeline-card{width:100%;max-width:400px;border:1px solid var(--border);background:var(--bg-card);display:flex;flex-direction:column;transition:border-color .3s,box-shadow .3s;overflow:hidden}.timeline-card:hover{border-color:var(--gold-dim);box-shadow:0 4px 24px var(--gold-glow-faint)}.card-image-wrap{position:relative;height:160px;overflow:hidden;background:url(/marble.jpg) center / cover;display:flex;align-items:center;justify-content:center}.card-image-wrap:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at center,transparent 22%,rgba(255,255,255,.96) 100%);pointer-events:none}.card-fallback-orn{position:relative;z-index:1;width:48px;height:48px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.35}.card-image{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;filter:grayscale(30%) contrast(1.05);transition:transform .6s var(--ease-out),filter .4s}.timeline-card:hover .card-image{transform:scale(1.04);filter:grayscale(0%) contrast(1.05)}.card-image-overlay{position:absolute;inset:0;z-index:3;background:linear-gradient(to bottom,transparent 40%,var(--bg-card) 100%)}.card-body{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.card-era{font-family:var(--font-title);font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold)}.card-year{font-family:var(--font-display);font-size:1.6rem;color:var(--cream);line-height:1;opacity:.85}.card-place{font-family:var(--font-title);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-faint);display:flex;align-items:center;gap:.4rem}.place-icon{color:var(--gold-dim);font-size:.75rem}.card-title{font-size:1.1rem;color:var(--cream);line-height:1.25;margin-top:.25rem}.card-excerpt{font-size:.85rem;color:var(--cream-dim);line-height:1.7;flex:1}.card-link{display:inline-block;margin-top:.75rem;font-family:var(--font-title);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);text-decoration:none;transition:color .3s,letter-spacing .3s}.card-link:hover{color:var(--gold-light);letter-spacing:.25em}.timeline-zero{position:relative;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;width:260px;margin:1rem 0 2rem;z-index:2}.zero-line{flex:1;height:1px;background:var(--border-strong)}.zero-label{font-family:var(--font-title);font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dim);white-space:nowrap}@media(max-width:768px){.timeline-axis{left:16px}.timeline-item{width:100%;left:0!important;justify-content:flex-start!important;padding-left:2.5rem!important;padding-right:0!important}.timeline-item .timeline-dot{left:9px!important;right:auto!important}.timeline-card{max-width:100%}.timeline-zero{left:0;transform:none;width:auto;margin-left:2rem}}
