:root {
    --capo-primary: #00a67e;
    --capo-secondary: #dc143c;
}

body {
    background-attachment: fixed;
    background-image: url('../background.jpeg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: white;
    font-family: 'Montserrat', sans-serif;
}

@keyframes fade-in {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fade-in 1s ease-out both;
}

.timeline-line::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0.75rem;
    width: 2px;
    height: 100%;
    background: linear-gradient(to bottom, var(--capo-primary), transparent);
    animation: scroll-line 6s linear infinite;
}

@keyframes scroll-line {
    0% { background-position: 0% 0%; }
    100% { background-position: 0% 100%; }
}
