.timeline-section{background:radial-gradient(ellipse at 50% 0,var(--tint-2) 0,transparent 60%),linear-gradient(180deg,#fff 0,var(--tint-1) 100%);overflow:hidden;padding:104px 0 56px;position:relative}.timeline-section:before{background-image:radial-gradient(circle,var(--gray-300) 1px,transparent 1px);background-size:32px 32px;content:"";inset:0;opacity:.15;pointer-events:none;position:absolute;z-index:0}.timeline-section .container{position:relative;z-index:1}.section-label{color:var(--teal-dark);display:inline-block;font-family:var(--fd);font-size:11px;font-weight:800;letter-spacing:1.8px;margin-bottom:12px;text-transform:uppercase}.timeline-scroll{margin:44px -40px 0;overflow-x:auto;padding:0 40px 28px;position:relative;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-color:var(--teal) transparent;scrollbar-width:thin}.timeline-scroll::-webkit-scrollbar{height:4px}.timeline-scroll::-webkit-scrollbar-track{background:var(--gray-100);border-radius:2px}.timeline-scroll::-webkit-scrollbar-thumb{background:var(--teal);border-radius:2px}.timeline-scroll::-webkit-scrollbar-thumb:hover{background:var(--teal-dark)}.timeline{display:inline-flex;gap:28px;min-width:100%;padding-top:22px;position:relative}.timeline:before{background:linear-gradient(90deg,transparent 0,var(--teal) 8%,var(--gray-300) 50%,var(--orange) 92%,transparent 100%);content:"";height:1px;left:12px;opacity:.55;position:absolute;right:12px;top:18px;z-index:0}.tl-row{display:flex;flex:0 0 320px;flex-direction:column;position:relative;scroll-snap-align:start}.tl-row:before{background:#fff;border:2px solid var(--teal);border-radius:50%;content:"";height:12px;left:50%;position:absolute;top:12px;transform:translateX(-50%);transition:transform .25s ease,box-shadow .25s ease;width:12px;z-index:2}.tl-row.landmark:before{background:var(--orange);border-color:var(--navy);box-shadow:0 0 0 5px rgba(249,115,22,.15);height:14px;width:14px}.tl-row:hover:before{transform:translateX(-50%) scale(1.35)}.tl-row.landmark:hover:before{box-shadow:0 0 0 8px rgba(249,115,22,.18)}.tl-row:after{background:linear-gradient(180deg,var(--gray-300) 0,transparent 100%);content:"";height:28px;left:50%;position:absolute;top:24px;transform:translateX(-50%);width:1px;z-index:1}.tl-body{background:linear-gradient(180deg,#fff,rgba(241,244,250,.6));border:1px solid var(--gray-200);border-radius:16px;box-shadow:0 1px 2px rgba(11,29,58,.04),0 8px 24px -16px rgba(11,29,58,.1);flex:1;margin-top:52px;overflow:hidden;padding:24px 26px 22px;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.tl-row:hover .tl-body{border-color:var(--teal);box-shadow:0 2px 4px rgba(11,29,58,.04),0 20px 40px -16px rgba(11,29,58,.2);transform:translateY(-4px)}.tl-row.landmark .tl-body{border-color:rgba(14,165,169,.3)}.tl-row.landmark .tl-body:before{background:linear-gradient(90deg,var(--teal) 0,var(--orange) 100%);content:"";height:3px;left:0;position:absolute;right:0;top:0}.tl-meta{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.tl-year{color:var(--navy);font-family:var(--font-display);font-size:36px;font-weight:900;letter-spacing:-1.4px;line-height:1;white-space:nowrap}.tl-row.landmark .tl-year{background:linear-gradient(135deg,var(--navy) 0,var(--teal-dark) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.tl-cat{background:var(--tint-1);border:1px solid var(--gray-200);border-radius:999px;color:var(--teal-dark);font-family:var(--font-display);font-size:9.5px;font-weight:800;letter-spacing:1.6px;padding:5px 10px;text-transform:uppercase;white-space:nowrap}.tl-row.landmark .tl-cat{background:linear-gradient(135deg,rgba(14,165,169,.08),rgba(249,115,22,.08));border-color:rgba(14,165,169,.25);color:var(--navy)}.tl-title{color:var(--navy);font-family:var(--font-display);font-size:17px;font-weight:800;letter-spacing:-.3px;line-height:1.3;margin:0 0 10px}.tl-desc{color:var(--gray-600);font-family:var(--font-body);font-size:13.5px;line-height:1.6;margin:0}@media (max-width:768px){.timeline-scroll{margin:32px -24px 0;padding:0 24px 18px}.tl-row{flex:0 0 280px}.tl-body{margin-top:48px;padding:20px 22px 18px}.tl-meta{margin-bottom:12px}.tl-year{font-size:30px;letter-spacing:-1px}.tl-cat{font-size:9px;padding:4px 8px}.tl-title{font-size:15.5px}.tl-desc{font-size:13px}}