
/* Navigation Base Styles */
a {
    text-decoration: none;
    color: inherit;
}

a:hover {
    color: #fff;
    background: #1e40af;
}

@media (max-width: 768px) {
    .menu {
        display: none;
    }
    .hamburger {
        display: block;
    }
}

/* Animation Classes */
.animate-fadeIn {
    animation: fadeIn 1s ease-out forwards;
}

.animate-fadeIn.delay-100 {
    animation-delay: 0.1s;
}

.animate-fadeIn.delay-200 {
    animation-delay: 0.2s;
}

.animate-bounce {
    animation: bounce 2s infinite;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-30px);
    }
    60% {
        transform: translateY(-15px);
    }
}

/* Custom Transitions */
.transition-all {
    transition-property: all;
}

.transition-colors {
    transition-property: background-color, border-color, color, fill, stroke;
}

.transition-transform {
    transition-property: transform;
}

.duration-300 {
    transition-duration: 300ms;
}

.duration-500 {
    transition-duration: 500ms;
}

/* Custom Utilities */
.hover\:shadow-lg:hover {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
/* Portfolio Teaser Styles */
.group:hover .group-hover\:scale-105 {
    transform: scale(1.05);
}
.group:hover .group-hover\:opacity-100 {
    opacity: 1;
}

/* Timeline Custom Styles */
.timeline-container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}

.timeline-container::after {
    content: '';
    position: absolute;
    width: 6px;
    background-color: #3b82f6;
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -3px;
}
html {
    scroll-behavior: smooth;
}

/* Offset untuk sticky navbar */
section {
    scroll-margin-top: 80px;
}