.timeline-page{min-height:100vh;padding-bottom:4rem}.project-hero{text-align:center;padding:4rem 2rem 2rem;position:relative}.back-button{color:var(--text);background-color:var(--secondary70);transition:var(--transition03);transition-property:var(--transition-colors);border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex}.back-button:hover{background-color:var(--primary70);color:var(--accent)}.project-hero h1{color:var(--text);transition:var(--transition03);transition-property:var(--transition-colors);margin-bottom:1rem;font-size:3rem;font-weight:700}.project-tagline{color:var(--text);opacity:.8;transition:var(--transition03);transition-property:var(--transition-colors);margin-bottom:1.5rem;font-size:1.25rem}.project-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-top:1.5rem;display:flex}.badge{background-color:var(--primary);color:var(--static-white);transition:var(--transition03);transition-property:var(--transition-colors);border-radius:2rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-block}.tech-stack{color:var(--tertiary);transition:var(--transition03);transition-property:var(--transition-colors);font-size:1rem;font-weight:500}.timeline-container{max-width:1000px;padding:4rem 2rem}.timeline{padding:2rem 0;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom,var(--primary),var(--accent));border-radius:2px;width:4px;height:100%;position:absolute;left:50%;transform:translate(-50%)}.timeline-item{opacity:0;align-items:flex-start;margin-bottom:4rem;transition:all .6s;display:flex;position:relative;transform:translateY(50px)}.timeline-item.animate{opacity:1;transform:translateY(0)}.timeline-item[data-animate=left]{justify-content:flex-end}.timeline-item[data-animate=right]{justify-content:flex-start}.timeline-item[data-animate=left] .timeline-content{text-align:right;margin-right:calc(50% + 3rem)}.timeline-item[data-animate=right] .timeline-content{text-align:left;margin-left:calc(50% + 3rem)}.timeline-marker{background-color:var(--primary);border:4px solid var(--background);width:4rem;height:4rem;box-shadow:0 0 0 4px var(--primary70);z-index:2;transition:var(--transition03);transition-property:var(--transition-colors);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.timeline-marker i{color:var(--static-white);font-size:1.5rem}.timeline-content{background-color:var(--primary70);box-shadow:var(--box-shadow);max-width:45%;transition:var(--transition03);transition-property:var(--transition-colors),transform;border-radius:1rem;padding:2rem}.timeline-content:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.timeline-date{background-color:var(--accent);color:var(--static-white);transition:var(--transition03);transition-property:var(--transition-colors);border-radius:2rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-block}.timeline-content h3{color:var(--text);transition:var(--transition03);transition-property:var(--transition-colors);margin-bottom:1rem;font-size:1.75rem;font-weight:600}.timeline-content p{color:var(--text);transition:var(--transition03);transition-property:var(--transition-colors);margin-bottom:1rem;font-size:1.125rem;line-height:1.6}.timeline-content ul{margin-top:1.5rem;padding:0;list-style:none}.timeline-content ul li{color:var(--text);transition:var(--transition03);transition-property:var(--transition-colors);margin-bottom:.75rem;padding-left:1.5rem;font-size:1rem;line-height:1.5;position:relative}.timeline-content ul li:before{content:"▸";color:var(--accent);font-weight:700;position:absolute;left:0}.timeline-image{border-radius:.5rem;margin-top:1.5rem;overflow:hidden;box-shadow:0 4px 12px #0000001a}.timeline-image img{width:100%;height:auto;transition:transform .3s;display:block}.timeline-image:hover img{transform:scale(1.05)}.project-links{text-align:center;padding:4rem 2rem}.project-links h2{color:var(--text);transition:var(--transition03);transition-property:var(--transition-colors);margin-bottom:2rem;font-size:2.5rem;font-weight:600}.project-buttons{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.project-buttons .button-github,.project-buttons .button-primary{margin-top:0;padding:1rem 2rem;font-size:1.125rem}@media (width<=768px){.timeline:before{left:2rem}.timeline-item{flex-direction:column}.timeline-item[data-animate=left],.timeline-item[data-animate=right]{justify-content:flex-start}.timeline-item[data-animate=left] .timeline-content,.timeline-item[data-animate=right] .timeline-content{text-align:left;max-width:calc(100% - 6rem);margin:0 0 0 5rem}.timeline-marker{width:3rem;height:3rem;left:2rem}.timeline-marker i{font-size:1.25rem}.project-hero h1{font-size:2rem}.project-tagline{font-size:1rem}.timeline-content{max-width:100%}.timeline-content h3{font-size:1.5rem}.timeline-content p{font-size:1rem}}@media (width>=769px) and (width<=1024px){.timeline-content{max-width:42%}.project-hero h1{font-size:2.5rem}}
/*# sourceMappingURL=project-portfolio.68a35205.css.map */
