:root {
    --color3: #0A192F; 
    --color1: #CCD6F6; 
    --color2: #64FFDA; 
    --color4: #8892B0; 
    --color5: #F5F7FA; 
    --font-display: 'Roboto Mono', monospace;
    --font-body: 'Inter', sans-serif;
}

.header-scrolled {
    background-color: var(--color3) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

#mobile-menu {
    transform: translateX(100%);
    transition: transform 0.4s ease-out;
}
#mobile-menu.is-open {
    transform: translateX(0);
}

@media (min-width: 768px) {
    .timeline-item:nth-child(odd) .md\:pr-10 {
        padding-right: 2.5rem;
        padding-left: 0;
    }
    .timeline-item:nth-child(even) .md\:pl-10 {
        padding-left: 2.5rem;
        padding-right: 0;
    }

    .timeline-item:nth-child(odd) > div:nth-child(2) {
        order: 1;
        text-align: right;
    }
    .timeline-item:nth-child(odd) > div:nth-child(3) {
        order: 2;
    }

    .timeline-item:nth-child(even) > div:nth-child(2) {
        order: 2;
    }
    .timeline-item:nth-child(even) > div:nth-child(3) {
        order: 1;
        text-align: left;
    }
    
    .timeline-item > div:nth-child(2) {
        padding-left: 3rem;
        width: 100%;
    }
}
@media (max-width: 767px) {
    .timeline-item > div:nth-child(2) {
        padding-left: 3rem; 
    }
    .timeline-item > div:nth-child(3) {
        display: none;
    }
    .timeline-item > div:nth-child(2) > div {
        border-left: 5px solid var(--color2) !important;
        border-right: none !important;
    }
}

.reveal-element {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.7s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.reveal-element.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 2rem;
}
@media (min-width: 768px) {
    .footer-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.toast-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
}

.toast {
    padding: 15px 30px;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    opacity: 0;
    transform: translateY(100%);
    transition: all 0.5s ease-in-out;
}

.toast.show {
    opacity: 1;
    transform: translateY(0);
}