body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: #1e293b;
    background-color: #f8fafc;
    overflow-x: hidden;
}

.font-sans {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.fs-7 {
    font-size: 0.85rem;
}

.tracking-tight {
    letter-spacing: -0.025em;
}

.tracking-wider {
    letter-spacing: 0.05em;
}

.hover-card {
    transition: all 0.3s ease;
}

.hover-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.08) !important;
}

/* Timeline custom adjustments for mobile responsiveness */
.timeline {
    border-color: #0d6efd !important;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -21px;
    top: 6px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #0d6efd;
    border: 2px solid #ffffff;
}

.-start-45 {
    left: -85px;
}

@media (max-width: 768px) {
    .-start-45 {
        position: relative !important;
        left: 0 !important;
        display: inline-block;
        margin-bottom: 5px;
    }
    .timeline {
        padding-left: 1rem !important;
    }
    .timeline-item::before {
        display: none;
    }
}

.navbar {
    backdrop-filter: blur(10px);
}