.timeline-container{position:relative!important;min-height:200px}.timeline-container:before{display:none}.timeline-line{position:absolute;left:calc(50% - 2px);top:0;bottom:0;width:4px;background:linear-gradient(to bottom,#1e7ab8,#c98755);z-index:0;pointer-events:none}.timeline-item{position:relative!important;margin-bottom:0!important;width:100%!important;display:block!important;text-decoration:none!important;color:inherit!important}.timeline-item-wrapper{position:relative;margin-bottom:42px}.timeline-item.left .timeline-content{margin-left:0;margin-right:calc(50% + 40px);text-align:right}.timeline-item.right .timeline-content{margin-left:calc(50% + 40px);margin-right:0;text-align:left}.timeline-content{background:#fff!important;border-radius:12px!important;box-shadow:0 4px 20px #0000001a!important;padding:0!important;position:relative!important;border:1px solid #e5e7eb!important;transition:all .3s ease!important;display:block!important;overflow:visible!important}.timeline-content:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-2px)}.timeline-item.left .timeline-content:before,.timeline-item.left .timeline-content:after{content:"";position:absolute;right:0;transform:translate(100%);border-style:solid;border-color:transparent}.timeline-item.left .timeline-content:before{top:23px;border-width:16px;border-left-color:#d1d5db;z-index:1}.timeline-item.left .timeline-content:after{top:24px;border-width:15px;border-left-color:#fff;z-index:2}.timeline-item.right .timeline-content:before,.timeline-item.right .timeline-content:after{content:"";position:absolute;left:0;transform:translate(-100%);border-style:solid;border-color:transparent}.timeline-item.right .timeline-content:before{top:23px;border-width:16px;border-right-color:#d1d5db;z-index:1}.timeline-item.right .timeline-content:after{top:24px;border-width:15px;border-right-color:#fff;z-index:2}.timeline-dot{position:absolute;left:50%;transform:translate(-50%);top:20px;width:18px;height:18px;background:#c98755;border:4px solid white;border-radius:50%;z-index:5;box-shadow:0 0 0 2px #1e7ab840}.timeline-date{font-weight:700;color:#1e7ab8;font-size:1.1rem;margin-bottom:8px;font-family:Playfair Display,serif}.timeline-image{width:100%;background:#f3f4f6;overflow:hidden;border-radius:12px 12px 0 0;aspect-ratio:16 / 9}.timeline-image img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover}.timeline-body{padding:16px 18px 20px}.timeline-event{color:#374151;line-height:1.5;font-size:.92rem}@media(max-width:768px){.timeline-container:before{left:30px}.timeline-item.left .timeline-content,.timeline-item.right .timeline-content{margin-left:60px;margin-right:0;text-align:left}.timeline-item.left .timeline-content:before,.timeline-item.left .timeline-content:after,.timeline-item.right .timeline-content:before,.timeline-item.right .timeline-content:after{left:0;right:auto;transform:translate(-100%);border-left-color:transparent}.timeline-item.left .timeline-content:before,.timeline-item.right .timeline-content:before{border-right-color:#d1d5db}.timeline-item.left .timeline-content:after,.timeline-item.right .timeline-content:after{border-right-color:#fff}.timeline-dot{left:30px}.timeline-date{font-size:1rem;margin-bottom:6px}.timeline-event{font-size:.88rem;line-height:1.5}#filter-toggle,#filter-content{padding:16px}}@media(min-width:769px)and (max-width:1024px){.timeline-content{padding:0!important}.timeline-date{font-size:1.05rem}.timeline-event{font-size:.92rem}}.timeline-item:focus{outline:2px solid #1e7ab8;outline-offset:4px;border-radius:4px}button:focus,select:focus,input:focus{box-shadow:0 0 0 3px #1e7ab838}.timeline-item{animation:fadeInUp .6s ease both}.timeline-item:nth-child(2n){animation-delay:.1s}.timeline-item:nth-child(odd){animation-delay:.2s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}#back-to-top{backdrop-filter:blur(10px);background:#1e7ab8eb}#back-to-top:hover{background:#1e7ab8;transform:translateY(-2px)}.era-marker{position:relative;margin:40px 0;text-align:center;z-index:4}.era-marker .era-label{background:linear-gradient(135deg,#1e7ab8,#c98755);color:#fff;padding:8px 20px;border-radius:20px;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;display:inline-block;box-shadow:0 2px 10px #0003}
