/* Custom base styles beyond Tailwind */
html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Optional custom fade-in animation for elements */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Timeline gradient borders */
.timeline-border-edu {
    position: relative;
    border-left: none !important;
}
.timeline-border-edu::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, #0ea5e9, #60a5fa);
    border-top-left-radius: 0.75rem;
    border-bottom-left-radius: 0.75rem;
}

.timeline-border-exp {
    position: relative;
    border-left: none !important;
}
.timeline-border-exp::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, #f59e0b, #fbbf24);
    border-top-left-radius: 0.75rem;
    border-bottom-left-radius: 0.75rem;
}
